diff --git a/data.py b/data.py
new file mode 100644
index 0000000..5569616
--- /dev/null
+++ b/data.py
@@ -0,0 +1,113 @@
+import re
+import sys
+
+
+splitter_rr = "(?ms)=====+\n"
+
+
+def get_data_from_output(fname):
+    results = {}
+    fc = open(fname).read()
+
+    for block in re.split(splitter_rr, fc):
+        block = block.strip()
+        if not block.startswith("[{u'__meta__':"):
+            continue
+        for val in eval(block):
+            meta = val['__meta__']
+            meta['sync'] = 's' if meta['sync'] else 'a'
+            key = "{action} {sync} {blocksize}k".format(**meta)
+            results.setdefault(key, []).append(val['bw_mean'])
+
+    processed_res = {}
+
+    for k, v in results.items():
+        v.sort()
+        med = float(sum(v)) / len(v)
+        ran = sum(abs(x - med) for x in v) / len(v)
+        processed_res[k] = (int(med), int(ran))
+
+    return processed_res
+
+
+def ksort(x):
+    op, sync, sz = x.split(" ")
+    return (op, sync, int(sz[:-1]))
+
+
+def show_data(path1, path2=None):
+    templ_1 = "  {:>10}  {:>5}  {:>5}     {:>6} ~ {:>5} {:>2}% {:>5}"
+    templ_2 = templ_1 + "      {:>6} ~ {:>5} {:>2}% {:>5} ----  {:>6}%  "
+
+    ln_1 = templ_1.replace("<", "^").replace(">", "^")
+    ln_1 = ln_1.format("Oper", "Sync", "BSZ", "BW1", "DEV1", "%", "IOPS1")
+
+    ln_2 = templ_2.replace("<", "^").replace(">", "^")
+    ln_2 = ln_2.format("Oper", "Sync", "BSZ", "BW1", "DEV1", "%",
+                       "IOPS1", "BW2", "DEV2", "%", "IOPS2", "DIFF %")
+
+    sep_1 = '-' * len(ln_1)
+    sep_2 = '-' * len(ln_2)
+
+    res_1 = get_data_from_output(path1)
+
+    if path2 is None:
+        res_2 = None
+        sep = sep_1
+        ln = ln_1
+        templ = templ_1
+    else:
+        res_2 = get_data_from_output(path2)
+        sep = sep_2
+        ln = ln_2
+        templ = templ_2
+
+    print sep
+    print ln
+    print sep
+
+    prev_tp = None
+
+    common_keys = set(res_1.keys())
+
+    if res_2 is not None:
+        common_keys &= set(res_2.keys())
+
+    for k in sorted(common_keys, key=ksort):
+        tp = k.rsplit(" ", 1)[0]
+        op, s, sz = k.split(" ")
+        s = 'sync' if s == 's' else 'async'
+
+        if tp != prev_tp and prev_tp is not None:
+            print sep
+
+        prev_tp = tp
+
+        m1, d1 = res_1[k]
+        iops1 = m1 / int(sz[:-1])
+        perc1 = int(d1 * 100.0 / m1 + 0.5)
+
+        if res_2 is not None:
+            m2, d2 = res_2[k]
+            iops2 = m2 / int(sz[:-1])
+            perc2 = int(d2 * 100.0 / m2 + 0.5)
+            avg_diff = int(((m2 - m1) * 100.) / m2 + 0.5)
+
+        if res_2 is not None:
+            print templ.format(op, s, sz, m1, d1, perc1, iops1,
+                               m2, d2, perc2, iops2, avg_diff)
+        else:
+            print templ.format(op, s, sz, m1, d1, perc1, iops1)
+
+    print sep
+
+
+def main(argv):
+    path1 = argv[0]
+    path2 = argv[1] if len(argv) > 1 else None
+    show_data(path1, path2)
+    return 0
+
+if __name__ == "__main__":
+    exit(main(sys.argv[1:]))
+# print " ", results[k]
diff --git a/data_extractor.py b/data_extractor.py
new file mode 100644
index 0000000..d4e6ed1
--- /dev/null
+++ b/data_extractor.py
@@ -0,0 +1,116 @@
+import sys
+import json
+import sqlite3
+import contextlib
+
+
+def connect(url):
+    return sqlite3.connect(url)
+
+
+create_db_sql_templ = """
+CREATE TABLE build (id integer primary key,
+                    build text,
+                    type text,
+                    md5 text);
+
+CREATE TABLE params_combination (id integer primary key, {params});
+
+CREATE TABLE result (build_id integer,
+                     params_combination integer,
+                     bandwith float,
+                     deviation float);
+"""
+
+
+PARAM_COUNT = 20
+
+
+def get_all_tables(conn):
+    cursor = conn.cursor()
+    cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
+    return cursor.fetchall()
+
+
+def drop_database(conn):
+    cursor = conn.cursor()
+    cursor.execute("drop table result")
+    cursor.execute("drop table params_combination")
+    cursor.execute("drop table build")
+
+
+def init_database(conn):
+    cursor = conn.cursor()
+
+    params = ["param_{0} text".format(i) for i in range(PARAM_COUNT)]
+    create_db_sql = create_db_sql_templ.format(params=",".join(params))
+
+    for sql in create_db_sql.split(";"):
+        cursor.execute(sql)
+
+
+def insert_build(cursor, build_id, build_type, iso_md5):
+    cursor.execute("insert into build (build, type, md5) values (?, ?, ?)",
+                   (build_id, build_type, iso_md5))
+    return cursor.lastrowid
+
+
+def insert_params(cursor, *param_vals):
+    param_vals = param_vals + ("",) * (PARAM_COUNT - len(param_vals))
+
+    params = ",".join(['?'] * PARAM_COUNT)
+    select_templ = "select id from params_combination where {params_where}"
+
+    params_where = ["param_{0}=?".format(i) for i in range(PARAM_COUNT)]
+    req = select_templ.format(params_where=" AND ".join(params_where))
+    cursor.execute(req, param_vals)
+    res = cursor.fetchall()
+    if [] != res:
+        return res[0][0]
+
+    params = ",".join(['?'] * PARAM_COUNT)
+    param_insert_templ = "insert into params_combination ({0}) values ({1})"
+    param_names = ",".join("param_{0}".format(i) for i in range(PARAM_COUNT))
+    req = param_insert_templ.format(param_names, params)
+    cursor.execute(req, param_vals)
+    return cursor.lastrowid
+
+
+def insert_results(cursor, build_id, params_id, bw, dev):
+    req = "insert into result values (?, ?, ?, ?)"
+    cursor.execute(req, (build_id, params_id, bw, dev))
+
+
+@contextlib.contextmanager
+def transaction(conn):
+    try:
+        cursor = conn.cursor()
+        yield cursor
+    except:
+        conn.rollback()
+        raise
+    else:
+        conn.commit()
+
+
+def json_to_db(json_data, conn):
+    data = json.loads(json_data)
+    with transaction(conn) as cursor:
+        for build_data in data:
+            build_id = insert_build(cursor,
+                                    build_data.pop("build_id"),
+                                    build_data.pop("type"),
+                                    build_data.pop("iso_md5"))
+
+            for params, (bw, dev) in build_data.items():
+                param_id = insert_params(cursor, *params.split(" "))
+                insert_results(cursor, build_id, param_id, bw, dev)
+
+
+conn = sqlite3.connect(sys.argv[1])
+json_data = open(sys.argv[2]).read()
+
+if len(get_all_tables(conn)) == 0:
+    init_database(conn)
+
+json_to_db(json_data, conn)
diff --git a/data_generator.py b/data_generator.py
index b6373b1..096da3b 100644
--- a/data_generator.py
+++ b/data_generator.py
@@ -1,11 +1,11 @@
-import sys
 import os
+import sys
 import uuid
 import random
 import itertools
 
 from petname import Generate as pet_generate
-from storage_api import create_storage, TEST_PATH
+from storage_api import create_storage
 
 from report import ssize_to_kb
 
@@ -13,12 +13,11 @@
 random.shuffle(types)
 tp = itertools.cycle(types)
 
-sz = ["4k", "64k", "1m"]
+sz = ["1k", "4k", "64k", "256k", "1m"]
 op_type = ["randread", "read", "randwrite", "write"]
 is_sync = ["s", "a"]
 
-
-storage = create_storage("file://" + TEST_PATH + "/sample.json", "", "")
+storage = create_storage(sys.argv[1], "", "")
 combinations = list(itertools.product(op_type, is_sync, sz))
 
 for i in range(30):
diff --git a/io-scenario/io.py b/io-scenario/io.py
index 3b62967..8a3509a 100644
--- a/io-scenario/io.py
+++ b/io-scenario/io.py
@@ -142,7 +142,9 @@
 def do_run_iozone(params, filename, timeout, iozone_path='iozone',
                   microsecond_mode=False):
 
-    cmd = [iozone_path]
+    PATTERN = "\x6d"
+
+    cmd = [iozone_path, "-V", "109"]
 
     if params.sync:
         cmd.append('-o')
@@ -171,15 +173,22 @@
         fsz = params.size
 
     for fname in all_files:
-        ccmd = [iozone_path, "-f", fname, "-i", "0",
-                "-s",  str(fsz), "-r", str(bsz), "-w"]
-        subprocess.check_output(ccmd)
+        with open(fname, "wb") as fd:
+            if fsz > 1024:
+                pattern = PATTERN * 1024 * 1024
+                for _ in range(int(fsz / 1024) + 1):
+                    fd.write(pattern)
+            else:
+                fd.write(PATTERN * 1024 * fsz)
+            fd.flush()
 
     cmd.append('-i')
 
     if params.action == 'write':
         cmd.append("0")
-    elif params.action == 'randwrite':
+    elif params.action == 'read':
+        cmd.append("1")
+    elif params.action == 'randwrite' or params.action == 'randread':
         cmd.append("2")
     else:
         raise ValueError("Unknown action {0!r}".format(params.action))
@@ -206,14 +215,13 @@
         elif params.action == 'randread':
             res['bw_mean'] = parsed_res['random read']
     except:
-        print raw_res
         raise
 
     # res['bw_dev'] = 0
     # res['bw_max'] = res["bw_mean"]
     # res['bw_min'] = res["bw_mean"]
 
-    return res
+    return res, " ".join(cmd)
 
 
 def run_iozone(benchmark, iozone_path, tmpname, timeout=None):
@@ -221,7 +229,7 @@
         benchmark.size = benchmark.blocksize * 50
         res_time = do_run_iozone(benchmark, tmpname, timeout,
                                  iozone_path=iozone_path,
-                                 microsecond_mode=True)
+                                 microsecond_mode=True)[0]
 
         size = (benchmark.blocksize * timeout * 1000000)
         size /= res_time["bw_mean"]
@@ -252,8 +260,7 @@
         if is_ubuntu or "Debian GNU/Linux" in os_release_cont:
             subprocess.check_output(["apt-get", "install", "iozone3"])
             return
-    except (IOError, OSError) as exc:
-        print exc
+    except (IOError, OSError):
         pass
 
     raise RuntimeError("Unknown host OS.")
@@ -308,11 +315,11 @@
         cmd_line.append("--prio=0")
 
     raw_out = subprocess.check_output(cmd_line)
-    return json.loads(raw_out)["jobs"][0]
+    return json.loads(raw_out)["jobs"][0], " ".join(cmd_line)
 
 
 def run_fio(benchmark, fio_path, tmpname, timeout=None):
-    job_output = run_fio_once(benchmark, fio_path, tmpname, timeout)
+    job_output, cmd_line = run_fio_once(benchmark, fio_path, tmpname, timeout)
 
     if benchmark.action in ('write', 'randwrite'):
         raw_result = job_output['write']
@@ -325,11 +332,11 @@
     for field in ["bw_mean"]:
         res[field] = raw_result[field]
 
-    return res
+    return res, cmd_line
 
 
 def locate_fio():
-    return False, None
+    return False, which('fio')
 
 
 # ----------------------------------------------------------------------------
@@ -380,6 +387,22 @@
         raise ValueError(msg)
 
 
+def type_size_ext(string):
+    if string.startswith("x"):
+        int(string[1:])
+        return string
+
+    if string.startswith("r"):
+        int(string[1:])
+        return string
+
+    try:
+        return re.match("\d+[KGBM]?", string, re.I).group(0)
+    except:
+        msg = "{0!r} don't looks like size-description string".format(string)
+        raise ValueError(msg)
+
+
 def ssize_to_kb(ssize):
     try:
         smap = dict(k=1, K=1, M=1024, m=1024, G=1024**2, g=1024**2)
@@ -397,6 +420,19 @@
         raise ValueError(tmpl.format(ssize))
 
 
+def get_ram_size():
+    try:
+        with open("/proc/meminfo") as fd:
+            for ln in fd:
+                if "MemTotal:" in ln:
+                    sz, kb = ln.split(':')[1].strip().split(" ")
+                    assert kb == 'kB'
+                    return int(sz)
+    except (ValueError, TypeError, AssertionError):
+        raise
+        # return None
+
+
 def parse_args(argv):
     parser = argparse.ArgumentParser(
         description="Run 'iozone' or 'fio' and return result")
@@ -417,7 +453,7 @@
         "--timeout", metavar="TIMEOUT", type=int,
         help="runtime of a single run", default=None)
     parser.add_argument(
-        "--iosize", metavar="SIZE", type=type_size,
+        "--iosize", metavar="SIZE", type=type_size_ext,
         help="file size", default=None)
     parser.add_argument(
         "-s", "--sync", default=False, action="store_true",
@@ -445,7 +481,16 @@
     argv_obj.blocksize = ssize_to_kb(argv_obj.blocksize)
 
     if argv_obj.iosize is not None:
-        argv_obj.iosize = ssize_to_kb(argv_obj.iosize)
+        if argv_obj.iosize.startswith('x'):
+            argv_obj.iosize = argv_obj.blocksize * int(argv_obj.iosize[1:])
+        elif argv_obj.iosize.startswith('r'):
+            rs = get_ram_size()
+            if rs is None:
+                sys.stderr.write("Can't determine ram size\n")
+                exit(1)
+            argv_obj.iosize = rs * int(argv_obj.iosize[1:])
+        else:
+            argv_obj.iosize = ssize_to_kb(argv_obj.iosize)
 
     benchmark = BenchmarkOption(1,
                                 argv_obj.iodepth,
@@ -469,6 +514,7 @@
                                                argv_obj.binary_path)
 
     if binary_path is None:
+        sys.stderr.write("Can't locate binary {0}\n".format(argv_obj.type))
         return 1
 
     try:
@@ -477,11 +523,12 @@
             if dt > 0:
                 time.sleep(dt)
 
-        res = run_benchmark(argv_obj.type,
-                            benchmark,
-                            binary_path,
-                            test_file_name)
-        res['__meta__'] = benchmark.__dict__
+        res, cmd = run_benchmark(argv_obj.type,
+                                 benchmark,
+                                 binary_path,
+                                 test_file_name)
+        res['__meta__'] = benchmark.__dict__.copy()
+        res['__meta__']['cmdline'] = cmd
         sys.stdout.write(json.dumps(res) + "\n")
     finally:
         if remove_binary:
@@ -500,7 +547,6 @@
     # this line would be patched in case of run under rally
     # don't modify it!
     argvs = INSERT_TOOL_ARGS(sys.argv[1:])
-
     code = 0
     for argv in argvs:
         tcode = main(argv)
diff --git a/io-scenario/io.yaml b/io-scenario/io.yaml
index df2bc51..deb4b99 100644
--- a/io-scenario/io.yaml
+++ b/io-scenario/io.yaml
@@ -2,7 +2,7 @@
     -
         args:
             flavor:
-                name: "m1.small"
+                name: "ceph.512"
             image:
                 name: "ubuntu"
 
diff --git a/results/results_perf_1.txt b/results/results_perf_1.txt
new file mode 100644
index 0000000..d41ff5c
--- /dev/null
+++ b/results/results_perf_1.txt
@@ -0,0 +1,9793 @@
++ set -e
++ type=iozone
++ bsizes='1k 4k 64k 256k 1m'
++ ops='randwrite write'
++ osync='s a'
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:10:33 17338 >>>> Start rally with opts 'task start /tmp/filejGxLkn --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file5eZ1t9
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f88aefa8-0266-483c-957d-3752eb65d600: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:12:47 17614 >>>> Start io test
+05:12:47 17614 >>>> Ready and waiting on barrier. Will wait at most 165 seconds
+05:12:58 17615 >>>> Start io test
+05:12:58 17615 >>>> Ready and waiting on barrier. Will wait at most 154 seconds
+05:12:59 17613 >>>> Start io test
+05:12:59 17613 >>>> Ready and waiting on barrier. Will wait at most 154 seconds
+05:13:31 17614 >>>> Test finished
+05:13:31 17615 >>>> Test finished
+05:13:31 17613 >>>> Test finished
+2015-02-07 05:14:00.466 17338 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8e60ac93-77ff-4eed-a6fe-59ab4a0b3d73.
+
+--------------------------------------------------------------------------------
+Task f88aefa8-0266-483c-957d-3752eb65d600: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file5eZ1t9',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.424     | 1.584     | 1.726     | 1.701         | 1.714         | 100.0%  | 3     |
+| nova.boot_server            | 62.762    | 64.914    | 68.951    | 67.767        | 68.359        | 100.0%  | 3     |
+| nova.delete_server          | 5.105     | 5.26      | 5.386     | 5.367         | 5.376         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.691     | 3.605     | 7.371     | 6.247         | 6.809         | 100.0%  | 3     |
+| total                       | 137.998   | 141.496   | 143.374   | 143.322       | 143.348       | 100.0%  | 3     |
+| vm.run_command              | 32.039    | 32.051    | 32.065    | 32.062        | 32.063        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.318     | 1.495     | 2.088     | 2.086         | 2.087         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.176    | 18.103    | 23.234    | 22.367        | 22.801        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 143.493715048
+Full duration: 202.811934948
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f88aefa8-0266-483c-957d-3752eb65d600 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f88aefa8-0266-483c-957d-3752eb65d600
+
+Using task: f88aefa8-0266-483c-957d-3752eb65d600
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 19},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20}]
+================================================================================
+
+====> {"randwrite s 1k": [19, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:14:04 18188 >>>> Start rally with opts 'task start /tmp/fileYckBIV --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileKG8Jri
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  00b381ad-8d32-4387-aa57-3fae5f12f6ea: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:15:43 18429 >>>> Start io test
+05:15:43 18429 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+05:15:45 18428 >>>> Start io test
+05:15:45 18428 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+05:15:48 18427 >>>> Start io test
+05:15:48 18427 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+05:16:17 18427 >>>> Test finished
+05:16:18 18428 >>>> Test finished
+05:16:18 18429 >>>> Test finished
+2015-02-07 05:16:41.173 18188 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8db43596-34e9-4c1f-85b9-84f8b34e3547.
+
+--------------------------------------------------------------------------------
+Task 00b381ad-8d32-4387-aa57-3fae5f12f6ea: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileKG8Jri',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.517     | 1.663     | 1.889     | 1.828         | 1.858         | 100.0%  | 3     |
+| nova.boot_server            | 61.939    | 62.299    | 62.56     | 62.528        | 62.544        | 100.0%  | 3     |
+| nova.delete_server          | 5.175     | 5.943     | 7.41      | 6.977         | 7.194         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.492     | 1.695     | 1.84      | 1.823         | 1.831         | 100.0%  | 3     |
+| total                       | 121.658   | 123.041   | 124.848   | 124.402       | 124.625       | 100.0%  | 3     |
+| vm.run_command              | 29.055    | 29.47     | 29.717    | 29.701        | 29.709        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.088     | 5.432     | 6.108     | 6.106         | 6.107         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.652     | 10.968    | 12.921    | 12.803        | 12.862        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.953021049
+Full duration: 151.906111002
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 00b381ad-8d32-4387-aa57-3fae5f12f6ea --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 00b381ad-8d32-4387-aa57-3fae5f12f6ea
+
+Using task: 00b381ad-8d32-4387-aa57-3fae5f12f6ea
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21}]
+================================================================================
+
+====> {"randwrite s 1k": [21, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:16:44 18826 >>>> Start rally with opts 'task start /tmp/fileE5Gjr5 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileCTbIvO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  83be5eb8-609e-4013-9881-507f178804bc: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:18:34 19283 >>>> Start io test
+05:18:34 19283 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+05:18:34 19282 >>>> Start io test
+05:18:34 19282 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+05:18:37 19284 >>>> Start io test
+05:18:37 19284 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+05:19:06 19284 >>>> Test finished
+05:19:06 19282 >>>> Test finished
+05:19:06 19283 >>>> Test finished
+2015-02-07 05:19:38.312 18826 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 11cd5441-8602-456f-afbe-17b19242b6ff.
+
+--------------------------------------------------------------------------------
+Task 83be5eb8-609e-4013-9881-507f178804bc: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileCTbIvO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.51      | 1.687     | 1.778     | 1.776         | 1.777         | 100.0%  | 3     |
+| nova.boot_server            | 63.297    | 65.204    | 66.687    | 66.475        | 66.581        | 100.0%  | 3     |
+| nova.delete_server          | 4.177     | 5.608     | 6.522     | 6.442         | 6.482         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.684     | 3.511     | 7.022     | 5.983         | 6.502         | 100.0%  | 3     |
+| total                       | 125.37    | 126.856   | 129.187   | 128.552       | 128.869       | 100.0%  | 3     |
+| vm.run_command              | 29.589    | 29.667    | 29.76     | 29.739        | 29.75         | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.088     | 5.765     | 6.11      | 6.107         | 6.109         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.707     | 10.093    | 12.762    | 11.972        | 12.367        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.269021034
+Full duration: 170.81596899
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 83be5eb8-609e-4013-9881-507f178804bc --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 83be5eb8-609e-4013-9881-507f178804bc
+
+Using task: 83be5eb8-609e-4013-9881-507f178804bc
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21}]
+================================================================================
+
+====> {"randwrite s 1k": [21, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:19:42 19598 >>>> Start rally with opts 'task start /tmp/filecMA3Tk --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file8HHkAP
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3190229e-cddc-4e27-93a1-f89c2db65dd4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:21:16 19797 >>>> Start io test
+05:21:16 19797 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+05:21:17 19795 >>>> Start io test
+05:21:17 19795 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+05:21:18 19796 >>>> Start io test
+05:21:18 19796 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+05:21:46 19796 >>>> Test finished
+05:21:46 19795 >>>> Test finished
+05:21:47 19797 >>>> Test finished
+2015-02-07 05:22:14.576 19598 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 68ff9623-96b1-4dcb-bf53-6222c42eebed.
+
+--------------------------------------------------------------------------------
+Task 3190229e-cddc-4e27-93a1-f89c2db65dd4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file8HHkAP',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.44      | 1.556     | 1.684     | 1.656         | 1.67          | 100.0%  | 3     |
+| nova.boot_server            | 60.088    | 60.156    | 60.207    | 60.201        | 60.204        | 100.0%  | 3     |
+| nova.delete_server          | 5.105     | 6.744     | 7.68      | 7.633         | 7.656         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.495     | 1.629     | 1.778     | 1.745         | 1.762         | 100.0%  | 3     |
+| total                       | 115.689   | 117.666   | 118.711   | 118.688       | 118.7         | 100.0%  | 3     |
+| vm.run_command              | 28.136    | 28.431    | 28.839    | 28.735        | 28.787        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.091     | 6.905     | 8.11      | 7.791         | 7.95          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.703     | 7.513     | 7.951     | 7.937         | 7.944         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 118.847837925
+Full duration: 149.540295839
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3190229e-cddc-4e27-93a1-f89c2db65dd4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3190229e-cddc-4e27-93a1-f89c2db65dd4
+
+Using task: 3190229e-cddc-4e27-93a1-f89c2db65dd4
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22}]
+================================================================================
+
+====> {"write s 1k": [22, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:22:18 20564 >>>> Start rally with opts 'task start /tmp/fileWosFzE --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file6tUiRE
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3d23398f-b386-460a-b95b-8ff3b8105699: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:23:51 20758 >>>> Start io test
+05:23:51 20758 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+05:23:52 20759 >>>> Start io test
+05:23:52 20759 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+05:23:54 20760 >>>> Start io test
+05:23:54 20760 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+05:24:23 20760 >>>> Test finished
+05:24:24 20759 >>>> Test finished
+05:24:24 20758 >>>> Test finished
+2015-02-07 05:24:49.951 20564 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 83dbc806-8680-4602-a870-e3c36e49faff.
+
+--------------------------------------------------------------------------------
+Task 3d23398f-b386-460a-b95b-8ff3b8105699: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file6tUiRE',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.436     | 3.16      | 6.554     | 5.541         | 6.048         | 100.0%  | 3     |
+| nova.boot_server            | 58.645    | 60.462    | 62.31     | 61.934        | 62.122        | 100.0%  | 3     |
+| nova.delete_server          | 5.136     | 6.72      | 7.524     | 7.519         | 7.522         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.859     | 1.912     | 1.971     | 1.958         | 1.964         | 100.0%  | 3     |
+| total                       | 119.448   | 120.76    | 122.744   | 122.213       | 122.479       | 100.0%  | 3     |
+| vm.run_command              | 29.613    | 30.016    | 30.298    | 30.266        | 30.282        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.086     | 4.761     | 6.101     | 6.1           | 6.101         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.605     | 7.302     | 7.739     | 7.703         | 7.721         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 122.856751919
+Full duration: 149.886011124
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3d23398f-b386-460a-b95b-8ff3b8105699 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3d23398f-b386-460a-b95b-8ff3b8105699
+
+Using task: 3d23398f-b386-460a-b95b-8ff3b8105699
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21}]
+================================================================================
+
+====> {"write s 1k": [21, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:24:55 21496 >>>> Start rally with opts 'task start /tmp/fileFn9b68 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file3Ra2jE
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e914856b-759c-41a0-bdc9-849c31cd4c6e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:26:28 21691 >>>> Start io test
+05:26:28 21691 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+05:26:36 21693 >>>> Start io test
+05:26:36 21693 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+05:26:37 21692 >>>> Start io test
+05:26:37 21692 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+05:27:06 21693 >>>> Test finished
+05:27:06 21692 >>>> Test finished
+05:27:06 21691 >>>> Test finished
+2015-02-07 05:27:38.078 21496 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 255c65e8-62af-49fd-9470-7e2fb7da68f8.
+
+--------------------------------------------------------------------------------
+Task e914856b-759c-41a0-bdc9-849c31cd4c6e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file3Ra2jE',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.385     | 1.757     | 1.98      | 1.965         | 1.973         | 100.0%  | 3     |
+| nova.boot_server            | 58.049    | 59.82     | 60.716    | 60.712        | 60.714        | 100.0%  | 3     |
+| nova.delete_server          | 5.083     | 6.768     | 7.872     | 7.768         | 7.82          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.556     | 3.332     | 6.775     | 5.753         | 6.264         | 100.0%  | 3     |
+| total                       | 123.251   | 126.313   | 131.406   | 129.981       | 130.693       | 100.0%  | 3     |
+| vm.run_command              | 28.587    | 28.822    | 28.999    | 28.975        | 28.987        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.596     | 6.287     | 8.111     | 7.72          | 7.915         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.269     | 9.258     | 13.147    | 11.989        | 12.568        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 131.461292982
+Full duration: 159.09739399
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e914856b-759c-41a0-bdc9-849c31cd4c6e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e914856b-759c-41a0-bdc9-849c31cd4c6e
+
+Using task: e914856b-759c-41a0-bdc9-849c31cd4c6e
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22}]
+================================================================================
+
+====> {"write s 1k": [22, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:27:42 22474 >>>> Start rally with opts 'task start /tmp/fileRscQzH --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedkn5al
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  41e198fa-c208-40ca-959a-0daa59ef5c37: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:29:18 22732 >>>> Start io test
+05:29:18 22732 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+05:29:21 22733 >>>> Start io test
+05:29:21 22733 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+05:29:22 22731 >>>> Start io test
+05:29:22 22731 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+05:29:52 22733 >>>> Test finished
+05:29:54 22731 >>>> Test finished
+05:29:54 22732 >>>> Test finished
+2015-02-07 05:30:14.824 22474 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4e627fef-9e94-4eed-83af-652f80e23bf5.
+
+--------------------------------------------------------------------------------
+Task 41e198fa-c208-40ca-959a-0daa59ef5c37: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedkn5al',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.379     | 1.465     | 1.56      | 1.539         | 1.549         | 100.0%  | 3     |
+| nova.boot_server            | 59.701    | 60.171    | 60.921    | 60.715        | 60.818        | 100.0%  | 3     |
+| nova.delete_server          | 5.134     | 5.17      | 5.199     | 5.194         | 5.196         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.603     | 1.746     | 1.995     | 1.924         | 1.959         | 100.0%  | 3     |
+| total                       | 121.346   | 122.578   | 123.649   | 123.467       | 123.558       | 100.0%  | 3     |
+| vm.run_command              | 30.384    | 31.446    | 32.203    | 32.112        | 32.157        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.101     | 6.935     | 8.11      | 7.807         | 7.959         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.11      | 10.6      | 13.26     | 12.694        | 12.977        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 123.752615929
+Full duration: 149.117669106
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 41e198fa-c208-40ca-959a-0daa59ef5c37 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 41e198fa-c208-40ca-959a-0daa59ef5c37
+
+Using task: 41e198fa-c208-40ca-959a-0daa59ef5c37
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 77}]
+================================================================================
+
+====> {"randwrite s 4k": [81, 9]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:30:18 23411 >>>> Start rally with opts 'task start /tmp/fileEp10cb --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filex9uUVj
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c92abd94-6533-4b8d-87c0-3ba18c2f0e23: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:31:58 23758 >>>> Start io test
+05:31:58 23758 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+05:31:59 23757 >>>> Start io test
+05:31:59 23757 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+05:32:01 23756 >>>> Start io test
+05:32:01 23756 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+05:32:32 23757 >>>> Test finished
+05:32:32 23758 >>>> Test finished
+05:32:33 23756 >>>> Test finished
+2015-02-07 05:32:55.450 23411 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ccc04ef1-87a1-469d-a67a-39d4adf99c34.
+
+--------------------------------------------------------------------------------
+Task c92abd94-6533-4b8d-87c0-3ba18c2f0e23: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filex9uUVj',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.308     | 1.414     | 1.584     | 1.537         | 1.56          | 100.0%  | 3     |
+| nova.boot_server            | 59.502    | 61.226    | 62.113    | 62.103        | 62.108        | 100.0%  | 3     |
+| nova.delete_server          | 5.119     | 5.902     | 7.46      | 6.993         | 7.227         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.602     | 1.647     | 1.726     | 1.704         | 1.715         | 100.0%  | 3     |
+| total                       | 120.871   | 122.106   | 124.011   | 123.496       | 123.754       | 100.0%  | 3     |
+| vm.run_command              | 31.039    | 31.446    | 31.834    | 31.76         | 31.797        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.095     | 7.149     | 8.103     | 7.932         | 8.018         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 1.238     | 7.312     | 11.86     | 11.256        | 11.558        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.1553092
+Full duration: 154.217210054
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c92abd94-6533-4b8d-87c0-3ba18c2f0e23 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c92abd94-6533-4b8d-87c0-3ba18c2f0e23
+
+Using task: c92abd94-6533-4b8d-87c0-3ba18c2f0e23
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 81},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79}]
+================================================================================
+
+====> {"randwrite s 4k": [80, 1]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:32:59 24558 >>>> Start rally with opts 'task start /tmp/fileXuNoHp --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filebNXRnU
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  46d3d0b0-e42e-42db-8f06-96194e0ebc52: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:34:37 25057 >>>> Start io test
+05:34:37 25057 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+05:34:39 25059 >>>> Start io test
+05:34:39 25059 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+05:34:40 25058 >>>> Start io test
+05:34:40 25058 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+05:35:12 25058 >>>> Test finished
+05:35:12 25057 >>>> Test finished
+05:35:12 25059 >>>> Test finished
+2015-02-07 05:35:37.951 24558 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a89857d1-ba28-466c-af94-78a5eaaf443d.
+
+--------------------------------------------------------------------------------
+Task 46d3d0b0-e42e-42db-8f06-96194e0ebc52: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filebNXRnU',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.377     | 1.444     | 1.558     | 1.526         | 1.542         | 100.0%  | 3     |
+| nova.boot_server            | 59.044    | 61.441    | 62.937    | 62.818        | 62.878        | 100.0%  | 3     |
+| nova.delete_server          | 5.114     | 5.147     | 5.208     | 5.191         | 5.199         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.955     | 3.618     | 6.698     | 5.798         | 6.248         | 100.0%  | 3     |
+| total                       | 120.019   | 123.445   | 125.357   | 125.277       | 125.317       | 100.0%  | 3     |
+| vm.run_command              | 32.093    | 32.209    | 32.283    | 32.277        | 32.28         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.111     | 6.444     | 7.11      | 6.91          | 7.01          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.545     | 6.952     | 7.664     | 7.661         | 7.662         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 125.507105112
+Full duration: 155.614425898
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 46d3d0b0-e42e-42db-8f06-96194e0ebc52 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 46d3d0b0-e42e-42db-8f06-96194e0ebc52
+
+Using task: 46d3d0b0-e42e-42db-8f06-96194e0ebc52
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 78},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 78},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 77}]
+================================================================================
+
+====> {"randwrite s 4k": [77, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:35:41 25904 >>>> Start rally with opts 'task start /tmp/filehhNXzN --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filePqM4kA
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  63fd72ea-9dac-45cc-880f-45aa6b88d31f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:37:22 26166 >>>> Start io test
+05:37:22 26166 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+05:37:24 26165 >>>> Start io test
+05:37:24 26165 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+05:37:25 26167 >>>> Start io test
+05:37:25 26167 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+05:37:55 26166 >>>> Test finished
+05:37:56 26165 >>>> Test finished
+05:37:56 26167 >>>> Test finished
+2015-02-07 05:38:18.249 25904 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b67de77e-1584-4697-af87-24b3ed8663f4.
+
+--------------------------------------------------------------------------------
+Task 63fd72ea-9dac-45cc-880f-45aa6b88d31f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filePqM4kA',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.436     | 1.502     | 1.633     | 1.594         | 1.613         | 100.0%  | 3     |
+| nova.boot_server            | 57.305    | 58.865    | 60.537    | 60.18         | 60.358        | 100.0%  | 3     |
+| nova.delete_server          | 5.148     | 6.709     | 7.528     | 7.512         | 7.52          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.539     | 1.65      | 1.781     | 1.751         | 1.766         | 100.0%  | 3     |
+| total                       | 121.288   | 122.765   | 123.624   | 123.575       | 123.599       | 100.0%  | 3     |
+| vm.run_command              | 30.263    | 30.477    | 30.768    | 30.695        | 30.731        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.092     | 6.097     | 6.103     | 6.102         | 6.102         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.996     | 11.167    | 12.864    | 12.819        | 12.841        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 123.664504051
+Full duration: 153.772900105
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 63fd72ea-9dac-45cc-880f-45aa6b88d31f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 63fd72ea-9dac-45cc-880f-45aa6b88d31f
+
+Using task: 63fd72ea-9dac-45cc-880f-45aa6b88d31f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 84},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 84},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83}]
+================================================================================
+
+====> {"write s 4k": [83, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:38:22 26940 >>>> Start rally with opts 'task start /tmp/fileUuI97N --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileoBOrkX
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  0e89c9d0-f89e-4599-9cde-d95927c8d952: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:39:57 27135 >>>> Start io test
+05:39:57 27135 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+05:40:00 27137 >>>> Start io test
+05:40:00 27137 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+05:40:03 27136 >>>> Start io test
+05:40:03 27136 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+05:40:32 27135 >>>> Test finished
+05:40:33 27136 >>>> Test finished
+05:40:34 27137 >>>> Test finished
+2015-02-07 05:41:03.878 26940 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c4432a42-78c4-4bcb-a90b-560d1869f83f.
+
+--------------------------------------------------------------------------------
+Task 0e89c9d0-f89e-4599-9cde-d95927c8d952: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileoBOrkX',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.354     | 1.59      | 1.799     | 1.763         | 1.781         | 100.0%  | 3     |
+| nova.boot_server            | 58.528    | 62.17     | 66.248    | 65.346        | 65.797        | 100.0%  | 3     |
+| nova.delete_server          | 5.12      | 6.693     | 9.768     | 8.853         | 9.31          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.65      | 1.693     | 1.756     | 1.74          | 1.748         | 100.0%  | 3     |
+| total                       | 122.546   | 126.677   | 128.745   | 128.744       | 128.745       | 100.0%  | 3     |
+| vm.run_command              | 28.712    | 29.569    | 30.255    | 30.152        | 30.203        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.974     | 4.392     | 6.107     | 6.105         | 6.106         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.701     | 10.568    | 11.805    | 11.683        | 11.744        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.879683018
+Full duration: 158.865314007
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 0e89c9d0-f89e-4599-9cde-d95927c8d952 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 0e89c9d0-f89e-4599-9cde-d95927c8d952
+
+Using task: 0e89c9d0-f89e-4599-9cde-d95927c8d952
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 84}]
+================================================================================
+
+====> {"write s 4k": [86, 4]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:41:07 27884 >>>> Start rally with opts 'task start /tmp/fileNbM22I --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedJyWD3
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  b4963d52-4695-46e0-8ebb-2397b0968210: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:42:49 28080 >>>> Start io test
+05:42:49 28080 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+05:42:49 28082 >>>> Start io test
+05:42:49 28082 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+05:42:50 28081 >>>> Start io test
+05:42:50 28081 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+05:43:18 28082 >>>> Test finished
+05:43:18 28081 >>>> Test finished
+05:43:18 28080 >>>> Test finished
+2015-02-07 05:43:45.888 27884 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: efa4a5b0-b3b4-4ee9-813b-e6d6d5d4c3a4.
+
+--------------------------------------------------------------------------------
+Task b4963d52-4695-46e0-8ebb-2397b0968210: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedJyWD3',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.459     | 1.529     | 1.609     | 1.591         | 1.6           | 100.0%  | 3     |
+| nova.boot_server            | 60.892    | 61.407    | 61.869    | 61.787        | 61.828        | 100.0%  | 3     |
+| nova.delete_server          | 5.132     | 6.671     | 7.443     | 7.442         | 7.443         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.763     | 1.804     | 1.835     | 1.83          | 1.833         | 100.0%  | 3     |
+| total                       | 121.941   | 123.449   | 124.246   | 124.229       | 124.238       | 100.0%  | 3     |
+| vm.run_command              | 28.523    | 28.646    | 28.741    | 28.728        | 28.734        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.794     | 5.247     | 6.091     | 5.844         | 5.968         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.908    | 13.041    | 14.06     | 13.879        | 13.97         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.363014221
+Full duration: 154.389993191
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report b4963d52-4695-46e0-8ebb-2397b0968210 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results b4963d52-4695-46e0-8ebb-2397b0968210
+
+Using task: b4963d52-4695-46e0-8ebb-2397b0968210
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 91},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 91},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90}]
+================================================================================
+
+====> {"write s 4k": [90, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:43:49 28849 >>>> Start rally with opts 'task start /tmp/fileHZ0u7t --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileSyieQ7
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  50778e9e-b58d-486f-af61-1e32316d82a2: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:45:27 29044 >>>> Start io test
+05:45:27 29044 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+05:45:28 29043 >>>> Start io test
+05:45:28 29043 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+05:45:29 29045 >>>> Start io test
+05:45:29 29045 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+05:46:07 29044 >>>> Test finished
+05:46:07 29045 >>>> Test finished
+05:46:07 29043 >>>> Test finished
+2015-02-07 05:46:35.793 28849 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: aaff9e04-d5c6-4c01-89a5-ea707da91f2a.
+
+--------------------------------------------------------------------------------
+Task 50778e9e-b58d-486f-af61-1e32316d82a2: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileSyieQ7',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.749     | 1.899     | 2.092     | 2.045         | 2.069         | 100.0%  | 3     |
+| nova.boot_server            | 59.903    | 60.175    | 60.347    | 60.333        | 60.34         | 100.0%  | 3     |
+| nova.delete_server          | 5.148     | 6.783     | 7.624     | 7.615         | 7.62          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.516     | 1.654     | 1.845     | 1.796         | 1.821         | 100.0%  | 3     |
+| total                       | 123.809   | 126.02    | 127.194   | 127.167       | 127.181       | 100.0%  | 3     |
+| vm.run_command              | 37.521    | 37.875    | 38.087    | 38.073        | 38.08         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.089     | 6.097     | 6.102     | 6.101         | 6.102         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.606     | 7.142     | 8.186     | 7.875         | 8.031         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.277160883
+Full duration: 163.25835681
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 50778e9e-b58d-486f-af61-1e32316d82a2 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 50778e9e-b58d-486f-af61-1e32316d82a2
+
+Using task: 50778e9e-b58d-486f-af61-1e32316d82a2
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1076},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1076},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1073}]
+================================================================================
+
+====> {"randwrite s 64k": [1075, 2]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:46:39 29776 >>>> Start rally with opts 'task start /tmp/fileFUGYqk --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filepTGoZZ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7139efc6-337c-4fe0-8f34-089c50c61eb3: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:48:12 29973 >>>> Start io test
+05:48:12 29973 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+05:48:13 29971 >>>> Start io test
+05:48:13 29971 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+05:48:14 29972 >>>> Start io test
+05:48:14 29972 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+05:48:55 29971 >>>> Test finished
+05:48:55 29973 >>>> Test finished
+05:48:55 29972 >>>> Test finished
+2015-02-07 05:49:26.048 29776 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: dbdb0316-a324-4db9-ae68-4c899224e171.
+
+--------------------------------------------------------------------------------
+Task 7139efc6-337c-4fe0-8f34-089c50c61eb3: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filepTGoZZ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.407     | 1.484     | 1.551     | 1.54          | 1.545         | 100.0%  | 3     |
+| nova.boot_server            | 60.526    | 61.547    | 63.366    | 62.842        | 63.104        | 100.0%  | 3     |
+| nova.delete_server          | 5.099     | 8.231     | 9.825     | 9.814         | 9.819         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.496     | 1.605     | 1.696     | 1.681         | 1.688         | 100.0%  | 3     |
+| total                       | 127.169   | 133.768   | 137.095   | 137.084       | 137.09        | 100.0%  | 3     |
+| vm.run_command              | 40.435    | 40.489    | 40.554    | 40.539        | 40.546        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.772     | 5.543     | 6.108     | 6.036         | 6.072         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.549     | 7.257     | 7.639     | 7.628         | 7.633         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 137.191136122
+Full duration: 163.663203001
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7139efc6-337c-4fe0-8f34-089c50c61eb3 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7139efc6-337c-4fe0-8f34-089c50c61eb3
+
+Using task: 7139efc6-337c-4fe0-8f34-089c50c61eb3
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 979},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 978},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 976}]
+================================================================================
+
+====> {"randwrite s 64k": [977, 2]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:49:30 30757 >>>> Start rally with opts 'task start /tmp/file65X33p --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileVoRmL6
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6226e17f-061a-412e-b642-13b97b6a4663: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:51:15 31104 >>>> Start io test
+05:51:15 31104 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+05:51:16 31106 >>>> Start io test
+05:51:16 31106 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+05:51:16 31105 >>>> Start io test
+05:51:16 31105 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+05:51:54 31106 >>>> Test finished
+05:51:55 31105 >>>> Test finished
+05:51:55 31104 >>>> Test finished
+2015-02-07 05:52:25.005 30757 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ec186aef-59f8-4303-bc22-e6b6937203a9.
+
+--------------------------------------------------------------------------------
+Task 6226e17f-061a-412e-b642-13b97b6a4663: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileVoRmL6',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.275     | 1.49      | 1.634     | 1.619         | 1.626         | 100.0%  | 3     |
+| nova.boot_server            | 60.258    | 61.086    | 62.404    | 62.042        | 62.223        | 100.0%  | 3     |
+| nova.delete_server          | 5.085     | 5.112     | 5.13      | 5.128         | 5.129         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.715     | 3.444     | 6.818     | 5.814         | 6.316         | 100.0%  | 3     |
+| total                       | 132.33    | 135.657   | 137.447   | 137.396       | 137.422       | 100.0%  | 3     |
+| vm.run_command              | 38.497    | 38.635    | 38.793    | 38.758        | 38.776        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.093     | 6.1       | 6.106     | 6.105         | 6.105         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.876    | 14.061    | 14.314    | 14.25         | 14.282        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 137.589299917
+Full duration: 172.357995987
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6226e17f-061a-412e-b642-13b97b6a4663 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6226e17f-061a-412e-b642-13b97b6a4663
+
+Using task: 6226e17f-061a-412e-b642-13b97b6a4663
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1039},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1036},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1030}]
+================================================================================
+
+====> {"randwrite s 64k": [1035, 6]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:52:29 32157 >>>> Start rally with opts 'task start /tmp/file5J8YcA --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filew6Ef1Y
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ed6db341-1c44-4463-9ca4-8cee242d0af5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:54:04 32365 >>>> Start io test
+05:54:04 32365 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+05:54:05 32363 >>>> Start io test
+05:54:05 32363 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+05:54:05 32364 >>>> Start io test
+05:54:05 32364 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+05:56:15 32363 >>>> Test finished
+05:57:30 32365 >>>> Test finished
+05:57:54 32364 >>>> Test finished
+2015-02-07 05:58:45.370 32157 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 7bc06e1d-f53a-4759-9384-c88a776d72c5.
+
+--------------------------------------------------------------------------------
+Task ed6db341-1c44-4463-9ca4-8cee242d0af5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filew6Ef1Y',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.372     | 1.383     | 1.403     | 1.397         | 1.4           | 100.0%  | 3     |
+| nova.boot_server            | 60.314    | 61.253    | 61.725    | 61.724        | 61.724        | 100.0%  | 3     |
+| nova.delete_server          | 10.036    | 42.573    | 95.8      | 81.017        | 88.409        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.576     | 6.806     | 6.971     | 6.951         | 6.961         | 100.0%  | 3     |
+| total                       | 315.111   | 320.609   | 327.523   | 325.857       | 326.69        | 100.0%  | 3     |
+| vm.run_command              | 129.816   | 187.87    | 228.829   | 224.056       | 226.443       | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.082     | 3.459     | 6.087     | 5.312         | 5.699         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.626     | 8.167     | 8.461     | 8.452         | 8.456         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 327.58332181
+Full duration: 373.683924913
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ed6db341-1c44-4463-9ca4-8cee242d0af5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ed6db341-1c44-4463-9ca4-8cee242d0af5
+
+Using task: ed6db341-1c44-4463-9ca4-8cee242d0af5
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21008},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13629},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13104}]
+================================================================================
+
+====> {"randwrite a 64k": [15913, 6250]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:58:49 682 >>>> Start rally with opts 'task start /tmp/file1Xcmjo --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filepTY3Kq
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2bc414b1-9d95-4141-8633-8a8ea72b3e76: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:00:31 922 >>>> Start io test
+06:00:31 922 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+06:00:36 921 >>>> Start io test
+06:00:36 921 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+06:00:38 920 >>>> Start io test
+06:00:38 920 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+06:02:43 922 >>>> Test finished
+06:03:51 920 >>>> Test finished
+06:04:38 921 >>>> Test finished
+2015-02-07 06:05:29.969 682 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 91d2f1f9-e16a-40f6-90c5-887ece33d5b1.
+
+--------------------------------------------------------------------------------
+Task 2bc414b1-9d95-4141-8633-8a8ea72b3e76: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filepTY3Kq',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.371     | 1.426     | 1.494     | 1.478         | 1.486         | 100.0%  | 3     |
+| nova.boot_server            | 59.39     | 61.718    | 63.017    | 62.963        | 62.99         | 100.0%  | 3     |
+| nova.delete_server          | 10.125    | 56.23     | 111.467   | 98.593        | 105.03        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.644     | 5.201     | 7.412     | 7.239         | 7.326         | 100.0%  | 3     |
+| total                       | 331.34    | 340.253   | 352.082   | 349.133       | 350.608       | 100.0%  | 3     |
+| vm.run_command              | 125.064   | 186.224   | 240.33    | 230.92        | 235.625       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.097     | 6.804     | 8.097     | 7.721         | 7.909         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.898    | 12.937    | 14.072    | 13.826        | 13.949        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 352.223535061
+Full duration: 397.54458189
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2bc414b1-9d95-4141-8633-8a8ea72b3e76 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2bc414b1-9d95-4141-8633-8a8ea72b3e76
+
+Using task: 2bc414b1-9d95-4141-8633-8a8ea72b3e76
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21990},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 18229},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16434}]
+================================================================================
+
+====> {"randwrite a 64k": [18884, 4009]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:05:34 1854 >>>> Start rally with opts 'task start /tmp/fileTfVufO --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedgU1GD
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2c7b6a81-b9d0-4fd2-9e66-b7ad6da93685: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:07:22 2195 >>>> Start io test
+06:07:22 2195 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+06:07:29 2196 >>>> Start io test
+06:07:29 2196 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+06:07:32 2197 >>>> Start io test
+06:07:32 2197 >>>> Ready and waiting on barrier. Will wait at most 181 seconds
+06:11:06 2197 >>>> Test finished
+06:11:21 2195 >>>> Test finished
+06:11:24 2196 >>>> Test finished
+2015-02-07 06:12:15.674 1854 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6d88bf49-7cdd-4ba7-85ea-654396eac43f.
+
+--------------------------------------------------------------------------------
+Task 2c7b6a81-b9d0-4fd2-9e66-b7ad6da93685: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedgU1GD',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.268     | 1.488     | 1.615     | 1.608         | 1.612         | 100.0%  | 3     |
+| nova.boot_server            | 58.656    | 66.656    | 74.569    | 73.004        | 73.786        | 100.0%  | 3     |
+| nova.delete_server          | 5.498     | 14.292    | 24.005    | 21.879        | 22.942        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 7.205     | 7.415     | 7.693     | 7.624         | 7.658         | 100.0%  | 3     |
+| total                       | 339.635   | 342.169   | 343.711   | 343.601       | 343.656       | 100.0%  | 3     |
+| vm.run_command              | 214.129   | 224.966   | 231.969   | 231.335       | 231.652       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.077     | 4.106     | 6.147     | 6.137         | 6.142         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.598     | 11.516    | 13.494    | 13.487        | 13.49         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 343.791852951
+Full duration: 399.216372967
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2c7b6a81-b9d0-4fd2-9e66-b7ad6da93685 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2c7b6a81-b9d0-4fd2-9e66-b7ad6da93685
+
+Using task: 2c7b6a81-b9d0-4fd2-9e66-b7ad6da93685
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8203},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7602},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7304}]
+================================================================================
+
+====> {"randwrite a 64k": [7703, 647]}
+
+================================================================================
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:12:19 2904 >>>> Start rally with opts 'task start /tmp/fileN5Kdew --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file56FmV5
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e7feb1ce-e053-4463-a926-ca737f0a6c74: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:14:10 3108 >>>> Start io test
+06:14:10 3108 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+06:14:11 3109 >>>> Start io test
+06:14:11 3109 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+06:14:17 3110 >>>> Start io test
+06:14:17 3110 >>>> Ready and waiting on barrier. Will wait at most 182 seconds
+06:14:49 3110 >>>> Test finished
+06:14:49 3108 >>>> Test finished
+06:14:49 3109 >>>> Test finished
+2015-02-07 06:15:25.441 2904 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 624b7461-4bf2-4800-9df9-e861002f9d57.
+
+--------------------------------------------------------------------------------
+Task e7feb1ce-e053-4463-a926-ca737f0a6c74: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file56FmV5',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.697     | 3.288     | 6.383     | 5.463         | 5.923         | 100.0%  | 3     |
+| nova.boot_server            | 61.835    | 69.787    | 74.395    | 74.142        | 74.269        | 100.0%  | 3     |
+| nova.delete_server          | 5.164     | 6.058     | 7.696     | 7.219         | 7.458         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.756     | 1.843     | 1.933     | 1.915         | 1.924         | 100.0%  | 3     |
+| total                       | 136.773   | 139.128   | 141.656   | 141.116       | 141.386       | 100.0%  | 3     |
+| vm.run_command              | 31.53     | 31.599    | 31.718    | 31.684        | 31.701        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.089     | 4.899     | 6.504     | 6.424         | 6.464         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.477     | 12.216    | 16.936    | 15.996        | 16.466        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 141.800136089
+Full duration: 183.13367486
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e7feb1ce-e053-4463-a926-ca737f0a6c74 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e7feb1ce-e053-4463-a926-ca737f0a6c74
+
+Using task: e7feb1ce-e053-4463-a926-ca737f0a6c74
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1363},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1356},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1339}]
+================================================================================
+
+====> {"write s 64k": [1352, 17]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:15:29 3868 >>>> Start rally with opts 'task start /tmp/fileLeYAa2 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file73BqmW
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  837d1d3a-1184-4df6-bbc2-bdacd159ae44: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:17:02 4075 >>>> Start io test
+06:17:02 4075 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+06:17:04 4073 >>>> Start io test
+06:17:04 4073 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+06:17:05 4074 >>>> Start io test
+06:17:05 4074 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+06:17:39 4075 >>>> Test finished
+06:17:39 4073 >>>> Test finished
+06:17:39 4074 >>>> Test finished
+2015-02-07 06:18:07.384 3868 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 47319dd4-1bc8-49d9-9f35-125592fd69f1.
+
+--------------------------------------------------------------------------------
+Task 837d1d3a-1184-4df6-bbc2-bdacd159ae44: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file73BqmW',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.434     | 1.51      | 1.608     | 1.584         | 1.596         | 100.0%  | 3     |
+| nova.boot_server            | 59.536    | 61.238    | 62.169    | 62.136        | 62.153        | 100.0%  | 3     |
+| nova.delete_server          | 5.246     | 6.649     | 7.358     | 7.355         | 7.356         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.54      | 1.614     | 1.698     | 1.679         | 1.689         | 100.0%  | 3     |
+| total                       | 121.593   | 126.564   | 129.326   | 129.215       | 129.271       | 100.0%  | 3     |
+| vm.run_command              | 33.911    | 34.233    | 34.628    | 34.534        | 34.581        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.739     | 6.004     | 6.168     | 6.156         | 6.162         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.577     | 7.715     | 7.92      | 7.865         | 7.893         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.426558018
+Full duration: 155.779536963
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 837d1d3a-1184-4df6-bbc2-bdacd159ae44 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 837d1d3a-1184-4df6-bbc2-bdacd159ae44
+
+Using task: 837d1d3a-1184-4df6-bbc2-bdacd159ae44
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1220},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1209},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1191}]
+================================================================================
+
+====> {"write s 64k": [1206, 20]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:18:11 5024 >>>> Start rally with opts 'task start /tmp/filerlLwDg --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filerW9jdt
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d4d237de-e194-4e3c-a005-bec01b959f6c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:19:50 5315 >>>> Start io test
+06:19:50 5315 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+06:19:53 5314 >>>> Start io test
+06:19:53 5314 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+06:19:55 5313 >>>> Start io test
+06:19:55 5313 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+06:20:28 5313 >>>> Test finished
+06:20:29 5315 >>>> Test finished
+06:20:29 5314 >>>> Test finished
+2015-02-07 06:20:56.771 5024 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b17ac3d4-cb03-4c59-8b70-7c69a853f63e.
+
+--------------------------------------------------------------------------------
+Task d4d237de-e194-4e3c-a005-bec01b959f6c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filerW9jdt',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.589     | 3.325     | 6.662     | 5.674         | 6.168         | 100.0%  | 3     |
+| nova.boot_server            | 60.613    | 62.647    | 64.167    | 63.965        | 64.066        | 100.0%  | 3     |
+| nova.delete_server          | 5.164     | 5.935     | 7.415     | 6.977         | 7.196         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.505     | 1.679     | 1.767     | 1.766         | 1.767         | 100.0%  | 3     |
+| total                       | 127.227   | 128.782   | 130.757   | 130.278       | 130.517       | 100.0%  | 3     |
+| vm.run_command              | 32.711    | 33.324    | 33.736    | 33.694        | 33.715        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.087     | 3.427     | 6.106     | 5.303         | 5.705         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.433     | 9.831     | 11.506    | 11.315        | 11.411        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 130.849030018
+Full duration: 162.316865921
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d4d237de-e194-4e3c-a005-bec01b959f6c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d4d237de-e194-4e3c-a005-bec01b959f6c
+
+Using task: d4d237de-e194-4e3c-a005-bec01b959f6c
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1346},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1273},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1276}]
+================================================================================
+
+====> {"write s 64k": [1298, 58]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:21:00 6255 >>>> Start rally with opts 'task start /tmp/fileK28HJV --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileRN69mc
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  69b03df7-bb22-45b0-99f6-42fdeb6f93e5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:22:39 6471 >>>> Start io test
+06:22:39 6471 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+06:22:46 6472 >>>> Start io test
+06:22:46 6472 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+06:22:47 6470 >>>> Start io test
+06:22:47 6470 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+06:24:23 6470 >>>> Test finished
+06:24:23 6472 >>>> Test finished
+06:24:23 6471 >>>> Test finished
+2015-02-07 06:25:14.868 6255 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 5eb0a7ba-4f45-408f-88fb-00647bc05de5.
+
+--------------------------------------------------------------------------------
+Task 69b03df7-bb22-45b0-99f6-42fdeb6f93e5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileRN69mc',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.497     | 1.688     | 1.819     | 1.805         | 1.812         | 100.0%  | 3     |
+| nova.boot_server            | 63.659    | 64.61     | 65.11     | 65.101        | 65.105        | 100.0%  | 3     |
+| nova.delete_server          | 7.346     | 8.931     | 9.76      | 9.746         | 9.753         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.716     | 4.982     | 6.815     | 6.735         | 6.775         | 100.0%  | 3     |
+| total                       | 195.157   | 200.4     | 203.331   | 203.207       | 203.269       | 100.0%  | 3     |
+| vm.run_command              | 96.18     | 96.586    | 96.86     | 96.832        | 96.846        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.097     | 6.106     | 6.112     | 6.111         | 6.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.641     | 11.428    | 13.823    | 13.822        | 13.822        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 203.412036896
+Full duration: 251.353116035
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 69b03df7-bb22-45b0-99f6-42fdeb6f93e5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 69b03df7-bb22-45b0-99f6-42fdeb6f93e5
+
+Using task: 69b03df7-bb22-45b0-99f6-42fdeb6f93e5
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25029},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23477},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22296}]
+================================================================================
+
+====> {"write a 64k": [23600, 1938]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:25:18 7715 >>>> Start rally with opts 'task start /tmp/fileKDY1Pe --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filet5FXsr
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  cd64163b-223a-42ee-841d-ca0948fe96e0: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:26:55 7947 >>>> Start io test
+06:26:55 7947 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+06:26:56 7949 >>>> Start io test
+06:26:56 7949 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+06:27:01 7948 >>>> Start io test
+06:27:01 7948 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+06:28:37 7949 >>>> Test finished
+06:28:41 7947 >>>> Test finished
+06:28:42 7948 >>>> Test finished
+2015-02-07 06:29:27.595 7715 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a567acf3-921b-458f-9eeb-8815b1fab750.
+
+--------------------------------------------------------------------------------
+Task cd64163b-223a-42ee-841d-ca0948fe96e0: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filet5FXsr',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.457     | 1.532     | 1.617     | 1.598         | 1.607         | 100.0%  | 3     |
+| nova.boot_server            | 58.538    | 59.612    | 60.246    | 60.207        | 60.227        | 100.0%  | 3     |
+| nova.delete_server          | 6.697     | 9.377     | 10.734    | 10.727        | 10.73         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.668     | 3.34      | 6.675     | 5.675         | 6.175         | 100.0%  | 3     |
+| total                       | 196.348   | 197.876   | 200.929   | 200.013       | 200.471       | 100.0%  | 3     |
+| vm.run_command              | 95.645    | 98.817    | 100.86    | 100.677       | 100.769       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.112     | 6.782     | 8.122     | 7.72          | 7.921         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.327     | 7.053     | 8.209     | 7.892         | 8.05          | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 201.013936043
+Full duration: 245.948004007
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report cd64163b-223a-42ee-841d-ca0948fe96e0 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results cd64163b-223a-42ee-841d-ca0948fe96e0
+
+Using task: cd64163b-223a-42ee-841d-ca0948fe96e0
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26121},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24941},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23471}]
+================================================================================
+
+====> {"write a 64k": [24844, 1877]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:29:31 9205 >>>> Start rally with opts 'task start /tmp/filedggPMe --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file2vX8gz
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8cb4f83f-f9ed-45d1-b35f-e1853eb489ba: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:31:05 9414 >>>> Start io test
+06:31:05 9414 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+06:31:08 9413 >>>> Start io test
+06:31:08 9413 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+06:31:08 9415 >>>> Start io test
+06:31:08 9415 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+06:32:43 9414 >>>> Test finished
+06:32:43 9415 >>>> Test finished
+06:32:45 9413 >>>> Test finished
+2015-02-07 06:33:28.293 9205 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: eae79267-59c6-43d7-ae83-fe7bd6c60550.
+
+--------------------------------------------------------------------------------
+Task 8cb4f83f-f9ed-45d1-b35f-e1853eb489ba: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file2vX8gz',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.337     | 1.403     | 1.461     | 1.451         | 1.456         | 100.0%  | 3     |
+| nova.boot_server            | 63.094    | 63.138    | 63.209    | 63.189        | 63.199        | 100.0%  | 3     |
+| nova.delete_server          | 5.142     | 6.674     | 7.466     | 7.456         | 7.461         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.597     | 3.315     | 6.587     | 5.622         | 6.105         | 100.0%  | 3     |
+| total                       | 186.49    | 189.637   | 193.462   | 192.561       | 193.012       | 100.0%  | 3     |
+| vm.run_command              | 94.923    | 95.632    | 96.915    | 96.544        | 96.73         | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.253     | 5.042     | 6.769     | 6.636         | 6.703         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.411     | 7.151     | 7.649     | 7.597         | 7.623         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 193.595272064
+Full duration: 233.908795118
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8cb4f83f-f9ed-45d1-b35f-e1853eb489ba --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8cb4f83f-f9ed-45d1-b35f-e1853eb489ba
+
+Using task: 8cb4f83f-f9ed-45d1-b35f-e1853eb489ba
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25398},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25816},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24446}]
+================================================================================
+
+====> {"write a 64k": [25220, 992]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:33:32 10213 >>>> Start rally with opts 'task start /tmp/fileUL774M --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filev1B48E
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2a80346b-0924-4e78-8f04-a5125452749e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:35:21 10410 >>>> Start io test
+06:35:21 10410 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+06:35:21 10409 >>>> Start io test
+06:35:21 10409 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+06:35:28 10408 >>>> Start io test
+06:35:28 10408 >>>> Ready and waiting on barrier. Will wait at most 183 seconds
+06:36:21 10410 >>>> Test finished
+06:36:23 10409 >>>> Test finished
+06:36:23 10408 >>>> Test finished
+2015-02-07 06:36:56.134 10213 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 26b69f7b-1816-46db-ac18-433ba7ebfaf9.
+
+--------------------------------------------------------------------------------
+Task 2a80346b-0924-4e78-8f04-a5125452749e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filev1B48E',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.402     | 1.472     | 1.595     | 1.56          | 1.577         | 100.0%  | 3     |
+| nova.boot_server            | 61.286    | 61.543    | 61.883    | 61.799        | 61.841        | 100.0%  | 3     |
+| nova.delete_server          | 5.313     | 9.886     | 12.398    | 12.308        | 12.353        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.559     | 1.589     | 1.619     | 1.613         | 1.616         | 100.0%  | 3     |
+| total                       | 151.941   | 157.984   | 161.262   | 161.16        | 161.211       | 100.0%  | 3     |
+| vm.run_command              | 52.945    | 54.457    | 55.224    | 55.219        | 55.222        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.856     | 6.088     | 6.306     | 6.265         | 6.285         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.73     | 15.264    | 19.9      | 18.552        | 19.226        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 161.423856974
+Full duration: 201.430507183
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2a80346b-0924-4e78-8f04-a5125452749e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2a80346b-0924-4e78-8f04-a5125452749e
+
+Using task: 2a80346b-0924-4e78-8f04-a5125452749e
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3173},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3001},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3000}]
+================================================================================
+
+====> {"randwrite s 256k": [3058, 140]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:37:00 11209 >>>> Start rally with opts 'task start /tmp/fileIl6XgU --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filenvnhxt
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  eeb1cdf5-070d-4ce6-bbc4-9a115b532302: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:38:32 11539 >>>> Start io test
+06:38:32 11539 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+06:38:40 11541 >>>> Start io test
+06:38:40 11541 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+06:38:42 11540 >>>> Start io test
+06:38:42 11540 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+06:39:32 11539 >>>> Test finished
+06:39:32 11540 >>>> Test finished
+06:39:32 11541 >>>> Test finished
+2015-02-07 06:40:01.265 11209 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4a545c63-627e-44be-8f3b-c26510a6b463.
+
+--------------------------------------------------------------------------------
+Task eeb1cdf5-070d-4ce6-bbc4-9a115b532302: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filenvnhxt',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.323     | 1.423     | 1.527     | 1.506         | 1.517         | 100.0%  | 3     |
+| nova.boot_server            | 58.609    | 62.97     | 66.297    | 65.838        | 66.068        | 100.0%  | 3     |
+| nova.delete_server          | 5.108     | 6.688     | 7.49      | 7.485         | 7.488         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.592     | 1.646     | 1.738     | 1.712         | 1.725         | 100.0%  | 3     |
+| total                       | 143.674   | 145.504   | 146.424   | 146.422       | 146.423       | 100.0%  | 3     |
+| vm.run_command              | 49.803    | 49.999    | 50.154    | 50.131        | 50.143        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.106     | 6.775     | 8.107     | 7.708         | 7.907         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.32      | 8.271     | 10.75     | 10.148        | 10.449        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 146.484391928
+Full duration: 178.42264986
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report eeb1cdf5-070d-4ce6-bbc4-9a115b532302 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results eeb1cdf5-070d-4ce6-bbc4-9a115b532302
+
+Using task: eeb1cdf5-070d-4ce6-bbc4-9a115b532302
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3346},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3339},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3326}]
+================================================================================
+
+====> {"randwrite s 256k": [3337, 14]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:40:05 12147 >>>> Start rally with opts 'task start /tmp/fileNBe4NX --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileayp5X1
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1ae12e9c-15e8-4039-a501-1b9857b2531d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:41:38 12341 >>>> Start io test
+06:41:38 12341 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+06:41:42 12343 >>>> Start io test
+06:41:42 12343 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+06:41:45 12342 >>>> Start io test
+06:41:45 12342 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+06:42:31 12341 >>>> Test finished
+06:42:33 12342 >>>> Test finished
+06:42:35 12343 >>>> Test finished
+2015-02-07 06:43:00.380 12147 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b2bc87db-da5b-449e-ab0d-3099d3cd371e.
+
+--------------------------------------------------------------------------------
+Task 1ae12e9c-15e8-4039-a501-1b9857b2531d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileayp5X1',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.338     | 1.41      | 1.449     | 1.448         | 1.449         | 100.0%  | 3     |
+| nova.boot_server            | 59.97     | 61.878    | 63.868    | 63.454        | 63.661        | 100.0%  | 3     |
+| nova.delete_server          | 5.129     | 5.211     | 5.27      | 5.263         | 5.267         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.473     | 1.562     | 1.609     | 1.608         | 1.609         | 100.0%  | 3     |
+| total                       | 138.122   | 139.803   | 141.625   | 141.232       | 141.429       | 100.0%  | 3     |
+| vm.run_command              | 46.661    | 48.334    | 50.234    | 49.809        | 50.022        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.106     | 6.109     | 6.112     | 6.111         | 6.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.562     | 8.947     | 11.666    | 10.856        | 11.261        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 141.771306992
+Full duration: 171.875977039
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1ae12e9c-15e8-4039-a501-1b9857b2531d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1ae12e9c-15e8-4039-a501-1b9857b2531d
+
+Using task: 1ae12e9c-15e8-4039-a501-1b9857b2531d
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3591},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3440},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3284}]
+================================================================================
+
+====> {"randwrite s 256k": [3438, 217]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:43:04 13132 >>>> Start rally with opts 'task start /tmp/file2fTled --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileWOwknZ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  80e9812c-8399-476c-8185-f8cd78309ebe: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:44:44 13340 >>>> Start io test
+06:44:44 13340 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+06:44:44 13341 >>>> Start io test
+06:44:44 13341 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+06:44:46 13339 >>>> Start io test
+06:44:46 13339 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+06:47:07 13340 >>>> Test finished
+06:47:11 13341 >>>> Test finished
+06:47:11 13339 >>>> Test finished
+2015-02-07 06:48:01.541 13132 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8ab1c09d-aaf7-46eb-9907-173fa5cdad39.
+
+--------------------------------------------------------------------------------
+Task 80e9812c-8399-476c-8185-f8cd78309ebe: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileWOwknZ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.3       | 1.341     | 1.417     | 1.395         | 1.406         | 100.0%  | 3     |
+| nova.boot_server            | 60.95     | 61.783    | 62.946    | 62.647        | 62.796        | 100.0%  | 3     |
+| nova.delete_server          | 9.719     | 11.241    | 12.065    | 12.04         | 12.052        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.648     | 5.123     | 7.011     | 6.951         | 6.981         | 100.0%  | 3     |
+| total                       | 251.358   | 252.298   | 253.701   | 253.328       | 253.514       | 100.0%  | 3     |
+| vm.run_command              | 140.504   | 143.603   | 145.173   | 145.165       | 145.169       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.391     | 4.194     | 6.097     | 6.096         | 6.096         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.652    | 13.133    | 13.924    | 13.904        | 13.914        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 253.848335028
+Full duration: 294.525403976
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 80e9812c-8399-476c-8185-f8cd78309ebe --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 80e9812c-8399-476c-8185-f8cd78309ebe
+
+Using task: 80e9812c-8399-476c-8185-f8cd78309ebe
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16062},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13868},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13640}]
+================================================================================
+
+====> {"randwrite a 256k": [14523, 1891]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:48:05 13726 >>>> Start rally with opts 'task start /tmp/file5C2qlK --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filenr9EtW
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d9a555ca-9a51-4b0b-b9ee-810571662b8b: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:49:42 14025 >>>> Start io test
+06:49:42 14025 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+06:49:44 14026 >>>> Start io test
+06:49:44 14026 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+06:49:52 14027 >>>> Start io test
+06:49:52 14027 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+06:51:57 14025 >>>> Test finished
+06:52:07 14026 >>>> Test finished
+06:52:16 14027 >>>> Test finished
+2015-02-07 06:53:05.846 13726 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1e021d50-91f3-4fb8-a5d6-1aeaceef1a89.
+
+--------------------------------------------------------------------------------
+Task d9a555ca-9a51-4b0b-b9ee-810571662b8b: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filenr9EtW',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.437     | 1.454     | 1.483     | 1.475         | 1.479         | 100.0%  | 3     |
+| nova.boot_server            | 57.973    | 58.859    | 59.359    | 59.336        | 59.348        | 100.0%  | 3     |
+| nova.delete_server          | 5.095     | 13.034    | 22.052    | 20.033        | 21.042        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.926     | 5.258     | 7.086     | 7.022         | 7.054         | 100.0%  | 3     |
+| total                       | 240.762   | 246.541   | 252.327   | 251.168       | 251.748       | 100.0%  | 3     |
+| vm.run_command              | 125.552   | 134.791   | 143.733   | 142.004       | 142.868       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.108     | 6.789     | 8.134     | 7.732         | 7.933         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.686    | 14.985    | 20.318    | 19.045        | 19.682        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 252.457228899
+Full duration: 297.674943209
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d9a555ca-9a51-4b0b-b9ee-810571662b8b --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d9a555ca-9a51-4b0b-b9ee-810571662b8b
+
+Using task: d9a555ca-9a51-4b0b-b9ee-810571662b8b
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20291},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 17836},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 19301}]
+================================================================================
+
+====> {"randwrite a 256k": [19142, 1746]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:53:10 14818 >>>> Start rally with opts 'task start /tmp/fileDGAXx4 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file5EJPxz
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e0e6384a-cf8f-449b-8e79-19f901eaf8a5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:54:50 15066 >>>> Start io test
+06:54:50 15066 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+06:54:59 15064 >>>> Start io test
+06:54:59 15064 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+06:55:00 15065 >>>> Start io test
+06:55:00 15065 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+06:57:09 15065 >>>> Test finished
+06:57:15 15066 >>>> Test finished
+06:57:18 15064 >>>> Test finished
+2015-02-07 06:58:04.605 14818 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: df6139dc-d525-4bfc-b10c-a860df673062.
+
+--------------------------------------------------------------------------------
+Task e0e6384a-cf8f-449b-8e79-19f901eaf8a5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file5EJPxz',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.392     | 1.482     | 1.625     | 1.586         | 1.605         | 100.0%  | 3     |
+| nova.boot_server            | 59.236    | 61.431    | 64.651    | 63.802        | 64.227        | 100.0%  | 3     |
+| nova.delete_server          | 5.082     | 11.314    | 14.468    | 14.453        | 14.461        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.543     | 6.612     | 6.747     | 6.707         | 6.727         | 100.0%  | 3     |
+| total                       | 243.262   | 243.749   | 244.161   | 244.093       | 244.127       | 100.0%  | 3     |
+| vm.run_command              | 128.797   | 133.677   | 137.776   | 137.112       | 137.444       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.109     | 6.111     | 6.114     | 6.113         | 6.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.49      | 12.855    | 18.05     | 17.045        | 17.548        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 244.313797951
+Full duration: 291.115023136
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e0e6384a-cf8f-449b-8e79-19f901eaf8a5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e0e6384a-cf8f-449b-8e79-19f901eaf8a5
+
+Using task: e0e6384a-cf8f-449b-8e79-19f901eaf8a5
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 18506},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15560},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16903}]
+================================================================================
+
+====> {"randwrite a 256k": [16989, 2085]}
+
+================================================================================
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+06:58:08 16099 >>>> Start rally with opts 'task start /tmp/fileeBgm2N --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file7iw0jO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  593fe6ac-4d8a-45cd-a0a8-62eeaaf71477: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+06:59:44 16306 >>>> Start io test
+06:59:44 16306 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+06:59:46 16305 >>>> Start io test
+06:59:46 16305 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+06:59:51 16307 >>>> Start io test
+06:59:51 16307 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+07:00:34 16307 >>>> Test finished
+07:00:34 16306 >>>> Test finished
+07:00:34 16305 >>>> Test finished
+2015-02-07 07:01:13.298 16099 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 38a8d3e5-2312-42e7-82e9-898aa352e49b.
+
+--------------------------------------------------------------------------------
+Task 593fe6ac-4d8a-45cd-a0a8-62eeaaf71477: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file7iw0jO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.504     | 4.864     | 6.582     | 6.567         | 6.575         | 100.0%  | 3     |
+| nova.boot_server            | 63.956    | 64.715    | 65.112    | 65.105        | 65.109        | 100.0%  | 3     |
+| nova.delete_server          | 5.294     | 6.787     | 7.56      | 7.55          | 7.555         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.626     | 1.66      | 1.701     | 1.692         | 1.696         | 100.0%  | 3     |
+| total                       | 138.435   | 140.043   | 141.1     | 140.999       | 141.049       | 100.0%  | 3     |
+| vm.run_command              | 42.773    | 42.944    | 43.195    | 43.129        | 43.162        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.082     | 0.535     | 0.771     | 0.767         | 0.769         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 2.264     | 7.894     | 12.798    | 11.962        | 12.38         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 141.265662909
+Full duration: 182.232357979
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 593fe6ac-4d8a-45cd-a0a8-62eeaaf71477 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 593fe6ac-4d8a-45cd-a0a8-62eeaaf71477
+
+Using task: 593fe6ac-4d8a-45cd-a0a8-62eeaaf71477
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4298},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4283},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4229}]
+================================================================================
+
+====> {"write s 256k": [4270, 51]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:01:17 17136 >>>> Start rally with opts 'task start /tmp/filebFjqD7 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileP6ytBu
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d1c8c8f5-4694-4324-869a-05830047ba6b: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:02:51 17353 >>>> Start io test
+07:02:51 17353 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+07:02:52 17352 >>>> Start io test
+07:02:52 17352 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+07:02:58 17351 >>>> Start io test
+07:02:58 17351 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+07:03:41 17352 >>>> Test finished
+07:03:41 17353 >>>> Test finished
+07:03:42 17351 >>>> Test finished
+2015-02-07 07:04:09.443 17136 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d8f37f16-09f5-44d3-9727-253644367c36.
+
+--------------------------------------------------------------------------------
+Task d1c8c8f5-4694-4324-869a-05830047ba6b: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileP6ytBu',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.428     | 1.469     | 1.545     | 1.523         | 1.534         | 100.0%  | 3     |
+| nova.boot_server            | 61.566    | 63.675    | 67.892    | 66.627        | 67.259        | 100.0%  | 3     |
+| nova.delete_server          | 5.108     | 6.691     | 7.559     | 7.529         | 7.544         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.62      | 1.629     | 1.642     | 1.638         | 1.64          | 100.0%  | 3     |
+| total                       | 136.072   | 138.023   | 139.285   | 139.17        | 139.228       | 100.0%  | 3     |
+| vm.run_command              | 43.319    | 43.773    | 44.212    | 44.127        | 44.17         | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.349     | 4.856     | 8.118     | 7.714         | 7.916         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.569     | 6.908     | 7.768     | 7.692         | 7.73          | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 139.459892988
+Full duration: 169.206549883
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d1c8c8f5-4694-4324-869a-05830047ba6b --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d1c8c8f5-4694-4324-869a-05830047ba6b
+
+Using task: d1c8c8f5-4694-4324-869a-05830047ba6b
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4135},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4059},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4038}]
+================================================================================
+
+====> {"write s 256k": [4077, 72]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:04:13 18221 >>>> Start rally with opts 'task start /tmp/file149JLJ --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file23buBV
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  aea2424d-f55a-4abc-aa60-92d186cd4c59: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:05:57 18780 >>>> Start io test
+07:05:57 18780 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+07:06:02 18781 >>>> Start io test
+07:06:02 18781 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+07:06:08 18782 >>>> Start io test
+07:06:08 18782 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+07:06:54 18780 >>>> Test finished
+07:06:54 18782 >>>> Test finished
+07:06:54 18781 >>>> Test finished
+2015-02-07 07:07:27.294 18221 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 910a832c-29cc-470a-89a8-7f434773ea5d.
+
+--------------------------------------------------------------------------------
+Task aea2424d-f55a-4abc-aa60-92d186cd4c59: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file23buBV',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.387     | 1.474     | 1.561     | 1.544         | 1.552         | 100.0%  | 3     |
+| nova.boot_server            | 61.474    | 63.977    | 67.174    | 66.396        | 66.785        | 100.0%  | 3     |
+| nova.delete_server          | 7.43      | 7.504     | 7.572     | 7.559         | 7.565         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.551     | 1.683     | 1.787     | 1.772         | 1.78          | 100.0%  | 3     |
+| total                       | 144.895   | 145.216   | 145.464   | 145.429       | 145.447       | 100.0%  | 3     |
+| vm.run_command              | 45.821    | 46.001    | 46.186    | 46.148        | 46.167        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.724     | 3.04      | 7.531     | 6.198         | 6.865         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.648     | 9.873     | 11.063    | 11.032        | 11.047        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 145.583882809
+Full duration: 191.149208069
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report aea2424d-f55a-4abc-aa60-92d186cd4c59 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results aea2424d-f55a-4abc-aa60-92d186cd4c59
+
+Using task: aea2424d-f55a-4abc-aa60-92d186cd4c59
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3761},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3732},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3731}]
+================================================================================
+
+====> {"write s 256k": [3741, 24]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:07:31 19563 >>>> Start rally with opts 'task start /tmp/fileFMrVTo --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filekGhEPD
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  95893b9a-4760-40fc-8627-d00fb68b044e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:09:10 19758 >>>> Start io test
+07:09:10 19758 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+07:09:16 19760 >>>> Start io test
+07:09:16 19760 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:09:18 19759 >>>> Start io test
+07:09:18 19759 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+07:10:56 19758 >>>> Test finished
+07:10:56 19759 >>>> Test finished
+07:10:57 19760 >>>> Test finished
+2015-02-07 07:11:33.865 19563 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 5b09970a-a9d6-4844-955f-8d3a9ee469e5.
+
+--------------------------------------------------------------------------------
+Task 95893b9a-4760-40fc-8627-d00fb68b044e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filekGhEPD',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.432     | 1.53      | 1.626     | 1.607         | 1.616         | 100.0%  | 3     |
+| nova.boot_server            | 61.677    | 65.951    | 68.148    | 68.124        | 68.136        | 100.0%  | 3     |
+| nova.delete_server          | 5.205     | 8.425     | 12.25     | 11.364        | 11.807        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.804     | 4.987     | 6.621     | 6.605         | 6.613         | 100.0%  | 3     |
+| total                       | 202.35    | 209.082   | 214.774   | 213.844       | 214.309       | 100.0%  | 3     |
+| vm.run_command              | 97.59     | 97.874    | 98.233    | 98.146        | 98.189        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.788     | 2.571     | 6.112     | 5.052         | 5.582         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.411     | 10.145    | 11.754    | 11.458        | 11.606        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 214.846310139
+Full duration: 239.788672924
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 95893b9a-4760-40fc-8627-d00fb68b044e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 95893b9a-4760-40fc-8627-d00fb68b044e
+
+Using task: 95893b9a-4760-40fc-8627-d00fb68b044e
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25162},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25005},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24780}]
+================================================================================
+
+====> {"write a 256k": [24982, 271]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:11:38 20498 >>>> Start rally with opts 'task start /tmp/fileFnbowM --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file55VWGl
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fdc17b2e-72cb-4de2-a391-5a671540a3f4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:13:22 20835 >>>> Start io test
+07:13:22 20835 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+07:13:23 20836 >>>> Start io test
+07:13:23 20836 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:13:30 20837 >>>> Start io test
+07:13:30 20837 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+07:15:07 20835 >>>> Test finished
+07:15:07 20836 >>>> Test finished
+07:15:08 20837 >>>> Test finished
+2015-02-07 07:15:54.783 20498 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8172d18a-d720-4bc3-a092-d099800d3337.
+
+--------------------------------------------------------------------------------
+Task fdc17b2e-72cb-4de2-a391-5a671540a3f4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file55VWGl',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.327     | 1.409     | 1.464     | 1.459         | 1.462         | 100.0%  | 3     |
+| nova.boot_server            | 61.026    | 62.108    | 62.952    | 62.831        | 62.892        | 100.0%  | 3     |
+| nova.delete_server          | 7.45      | 10.527    | 12.365    | 12.245        | 12.305        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.825     | 3.437     | 6.62      | 5.669         | 6.145         | 100.0%  | 3     |
+| total                       | 194.785   | 201.18    | 204.377   | 204.377       | 204.377       | 100.0%  | 3     |
+| vm.run_command              | 97.388    | 97.731    | 98.225    | 98.096        | 98.16         | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.973     | 6.893     | 8.202     | 7.863         | 8.033         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.875     | 8.739     | 11.739    | 10.912        | 11.325        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 204.518601894
+Full duration: 254.429579973
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fdc17b2e-72cb-4de2-a391-5a671540a3f4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fdc17b2e-72cb-4de2-a391-5a671540a3f4
+
+Using task: fdc17b2e-72cb-4de2-a391-5a671540a3f4
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25286},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24129},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23793}]
+================================================================================
+
+====> {"write a 256k": [24402, 1107]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:15:59 21724 >>>> Start rally with opts 'task start /tmp/fileuGVGsE --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewM2nl3
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  cf3c643d-a99e-4de7-bb79-a40c85f3e89c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:17:49 22094 >>>> Start io test
+07:17:49 22094 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+07:17:50 22095 >>>> Start io test
+07:17:50 22095 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+07:17:55 22096 >>>> Start io test
+07:17:55 22096 >>>> Ready and waiting on barrier. Will wait at most 183 seconds
+07:19:31 22094 >>>> Test finished
+07:19:31 22095 >>>> Test finished
+07:19:32 22096 >>>> Test finished
+2015-02-07 07:20:24.724 21724 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4d88068a-87e4-4558-8ad1-d7a6b0546960.
+
+--------------------------------------------------------------------------------
+Task cf3c643d-a99e-4de7-bb79-a40c85f3e89c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewM2nl3',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.377     | 1.382     | 1.392     | 1.389         | 1.391         | 100.0%  | 3     |
+| nova.boot_server            | 62.322    | 64.864    | 66.163    | 66.151        | 66.157        | 100.0%  | 3     |
+| nova.delete_server          | 5.09      | 6.893     | 10.354    | 9.33          | 9.842         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.59      | 3.258     | 6.588     | 5.59          | 6.089         | 100.0%  | 3     |
+| total                       | 199.958   | 201.684   | 204.155   | 203.512       | 203.833       | 100.0%  | 3     |
+| vm.run_command              | 96.131    | 96.556    | 96.925    | 96.862        | 96.894        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.103     | 6.136     | 6.195     | 6.178         | 6.187         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.9       | 12.182    | 14.825    | 14.425        | 14.625        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 204.31990695
+Full duration: 262.995551825
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report cf3c643d-a99e-4de7-bb79-a40c85f3e89c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results cf3c643d-a99e-4de7-bb79-a40c85f3e89c
+
+Using task: cf3c643d-a99e-4de7-bb79-a40c85f3e89c
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26144},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25313},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24746}]
+================================================================================
+
+====> {"write a 256k": [25401, 994]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:20:28 22867 >>>> Start rally with opts 'task start /tmp/filesJWmw5 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filehg0pc1
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fbb57118-8d78-49d1-9538-4d8052f32be8: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:22:09 23074 >>>> Start io test
+07:22:09 23074 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+07:22:14 23075 >>>> Start io test
+07:22:14 23075 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:22:14 23076 >>>> Start io test
+07:22:14 23076 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:23:46 23076 >>>> Test finished
+07:23:46 23074 >>>> Test finished
+07:23:48 23075 >>>> Test finished
+2015-02-07 07:24:29.751 22867 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: fdb5f33c-848b-4c1a-b2b2-c46e726286fd.
+
+--------------------------------------------------------------------------------
+Task fbb57118-8d78-49d1-9538-4d8052f32be8: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filehg0pc1',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.387     | 2.484     | 3.042     | 3.039         | 3.041         | 100.0%  | 3     |
+| nova.boot_server            | 61.931    | 65.106    | 67.164    | 66.976        | 67.07         | 100.0%  | 3     |
+| nova.delete_server          | 4.094     | 4.824     | 5.274     | 5.24          | 5.257         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.502     | 2.614     | 3.385     | 3.299         | 3.342         | 100.0%  | 3     |
+| total                       | 185.163   | 186.729   | 189.118   | 188.476       | 188.797       | 100.0%  | 3     |
+| vm.run_command              | 91.655    | 92.699    | 94.347    | 93.896        | 94.122        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.101     | 5.493     | 6.269     | 6.237         | 6.253         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.555     | 6.614     | 7.641     | 7.442         | 7.542         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 189.190970898
+Full duration: 238.217355967
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fbb57118-8d78-49d1-9538-4d8052f32be8 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fbb57118-8d78-49d1-9538-4d8052f32be8
+
+Using task: fbb57118-8d78-49d1-9538-4d8052f32be8
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8624},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8636},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8468}]
+================================================================================
+
+====> {"randwrite s 1024k": [8576, 132]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:24:33 23419 >>>> Start rally with opts 'task start /tmp/filerU5k6A --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileuyKk1U
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  57471e9a-b088-4419-b41e-9b503d2e0434: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:26:17 23695 >>>> Start io test
+07:26:17 23695 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+07:26:19 23697 >>>> Start io test
+07:26:19 23697 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:26:23 23696 >>>> Start io test
+07:26:23 23696 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+07:27:56 23695 >>>> Test finished
+07:27:57 23697 >>>> Test finished
+07:27:57 23696 >>>> Test finished
+2015-02-07 07:28:34.825 23419 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 953ecd73-4477-455f-98c0-57ac808c7bb7.
+
+--------------------------------------------------------------------------------
+Task 57471e9a-b088-4419-b41e-9b503d2e0434: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileuyKk1U',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.376     | 3.098     | 6.382     | 5.413         | 5.897         | 100.0%  | 3     |
+| nova.boot_server            | 63.646    | 65.12     | 67.594    | 66.899        | 67.247        | 100.0%  | 3     |
+| nova.delete_server          | 5.31      | 7.465     | 9.702     | 9.238         | 9.47          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.52      | 1.647     | 1.879     | 1.812         | 1.845         | 100.0%  | 3     |
+| total                       | 194.652   | 196.385   | 197.77    | 197.563       | 197.667       | 100.0%  | 3     |
+| vm.run_command              | 93.138    | 93.848    | 94.211    | 94.208        | 94.209        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.085     | 4.356     | 6.111     | 5.863         | 5.987         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.685     | 7.412     | 7.792     | 7.786         | 7.789         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 197.901420832
+Full duration: 237.221391916
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 57471e9a-b088-4419-b41e-9b503d2e0434 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 57471e9a-b088-4419-b41e-9b503d2e0434
+
+Using task: 57471e9a-b088-4419-b41e-9b503d2e0434
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8876},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8694},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8634}]
+================================================================================
+
+====> {"randwrite s 1024k": [8734, 178]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:28:38 24443 >>>> Start rally with opts 'task start /tmp/fileWKoX75 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileLyTEhO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  834f6af4-9c23-4608-9cf6-930588955432: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:30:21 24821 >>>> Start io test
+07:30:21 24821 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+07:30:23 24822 >>>> Start io test
+07:30:23 24822 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+07:30:24 24820 >>>> Start io test
+07:30:24 24820 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:31:55 24820 >>>> Test finished
+07:32:01 24821 >>>> Test finished
+07:32:02 24822 >>>> Test finished
+2015-02-07 07:32:40.332 24443 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 968ab0e1-625e-41c7-a3da-2aeda088bde8.
+
+--------------------------------------------------------------------------------
+Task 834f6af4-9c23-4608-9cf6-930588955432: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileLyTEhO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.53      | 1.998     | 2.612     | 2.46          | 2.536         | 100.0%  | 3     |
+| nova.boot_server            | 60.179    | 61.4      | 62.669    | 62.405        | 62.537        | 100.0%  | 3     |
+| nova.delete_server          | 7.496     | 9.059     | 12.149    | 11.226        | 11.688        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.542     | 3.725     | 7.939     | 6.69          | 7.314         | 100.0%  | 3     |
+| total                       | 196.479   | 197.991   | 198.776   | 198.764       | 198.77        | 100.0%  | 3     |
+| vm.run_command              | 90.706    | 95.276    | 98.262    | 97.982        | 98.122        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.099     | 5.439     | 6.11      | 6.109         | 6.11          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.543     | 10.991    | 14.307    | 13.87         | 14.088        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 198.895785093
+Full duration: 239.117848158
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 834f6af4-9c23-4608-9cf6-930588955432 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 834f6af4-9c23-4608-9cf6-930588955432
+
+Using task: 834f6af4-9c23-4608-9cf6-930588955432
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8634},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7999},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7972}]
+================================================================================
+
+====> {"randwrite s 1024k": [8201, 529]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:32:44 25829 >>>> Start rally with opts 'task start /tmp/fileI2Opxg --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filefeLrDl
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  db448610-ca3c-433d-9a9a-7a6acccb604d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:34:36 26024 >>>> Start io test
+07:34:36 26024 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+07:34:36 26023 >>>> Start io test
+07:34:36 26023 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+07:34:36 26025 >>>> Start io test
+07:34:36 26025 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+07:36:24 26023 >>>> Test finished
+07:36:29 26024 >>>> Test finished
+07:36:29 26025 >>>> Test finished
+2015-02-07 07:37:26.472 25829 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c20a9940-196a-4463-85af-29197435ddcd.
+
+--------------------------------------------------------------------------------
+Task db448610-ca3c-433d-9a9a-7a6acccb604d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filefeLrDl',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.401     | 1.489     | 1.644     | 1.599         | 1.621         | 100.0%  | 3     |
+| nova.boot_server            | 60.026    | 61.29     | 62.561    | 62.306        | 62.433        | 100.0%  | 3     |
+| nova.delete_server          | 8.247     | 9.35      | 10.044    | 9.987         | 10.015        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.605     | 6.053     | 8.314     | 8.299         | 8.307         | 100.0%  | 3     |
+| total                       | 212.651   | 219.864   | 225.911   | 224.935       | 225.423       | 100.0%  | 3     |
+| vm.run_command              | 107.425   | 110.707   | 112.39    | 112.373       | 112.381       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.08      | 4.767     | 8.112     | 7.712         | 7.912         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.697    | 15.731    | 20.279    | 19.067        | 19.673        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 226.061560869
+Full duration: 277.544191122
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report db448610-ca3c-433d-9a9a-7a6acccb604d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results db448610-ca3c-433d-9a9a-7a6acccb604d
+
+Using task: db448610-ca3c-433d-9a9a-7a6acccb604d
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26308},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22127},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22497}]
+================================================================================
+
+====> {"randwrite a 1024k": [23644, 3273]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:37:30 27228 >>>> Start rally with opts 'task start /tmp/fileYInhgz --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileAPIhbB
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  605babd7-9f1e-4be5-ae38-0e12710db32f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:39:16 27452 >>>> Start io test
+07:39:16 27452 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:39:16 27453 >>>> Start io test
+07:39:16 27453 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:39:18 27454 >>>> Start io test
+07:39:18 27454 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+07:40:58 27454 >>>> Test finished
+07:41:09 27453 >>>> Test finished
+07:41:09 27452 >>>> Test finished
+2015-02-07 07:41:42.041 27228 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 17c2dc83-a450-401f-bdad-a236d2044db8.
+
+--------------------------------------------------------------------------------
+Task 605babd7-9f1e-4be5-ae38-0e12710db32f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileAPIhbB',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.303     | 1.953     | 2.926     | 2.667         | 2.796         | 100.0%  | 3     |
+| nova.boot_server            | 59.595    | 65.606    | 68.612    | 68.612        | 68.612        | 100.0%  | 3     |
+| nova.delete_server          | 5.224     | 8.589     | 14.761    | 12.965        | 13.863        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.533     | 3.311     | 6.71      | 5.707         | 6.209         | 100.0%  | 3     |
+| total                       | 208.308   | 209.868   | 211.406   | 211.103       | 211.255       | 100.0%  | 3     |
+| vm.run_command              | 100.083   | 107.351   | 111.013   | 111.002       | 111.007       | 100.0%  | 3     |
+| vm.wait_for_ping            | 1.455     | 3.886     | 6.103     | 5.702         | 5.903         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.007     | 10.956    | 18.456    | 16.246        | 17.351        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 211.535135984
+Full duration: 248.715995073
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 605babd7-9f1e-4be5-ae38-0e12710db32f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 605babd7-9f1e-4be5-ae38-0e12710db32f
+
+Using task: 605babd7-9f1e-4be5-ae38-0e12710db32f
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 29853},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23875},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23824}]
+================================================================================
+
+====> {"randwrite a 1024k": [25850, 4901]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:41:45 28621 >>>> Start rally with opts 'task start /tmp/fileXZSjIM --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filemiRfDQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7e0f8e3a-5299-4b47-8864-f3f68be0eca8: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:43:45 28873 >>>> Start io test
+07:43:45 28873 >>>> Ready and waiting on barrier. Will wait at most 180 seconds
+07:43:48 28874 >>>> Start io test
+07:43:48 28874 >>>> Ready and waiting on barrier. Will wait at most 177 seconds
+07:43:50 28875 >>>> Start io test
+07:43:50 28875 >>>> Ready and waiting on barrier. Will wait at most 175 seconds
+07:45:45 28874 >>>> Test finished
+07:45:51 28875 >>>> Test finished
+07:45:52 28873 >>>> Test finished
+2015-02-07 07:46:40.727 28621 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 91ee3dd6-a2e2-459e-a740-b81b8e52ca42.
+
+--------------------------------------------------------------------------------
+Task 7e0f8e3a-5299-4b47-8864-f3f68be0eca8: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filemiRfDQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.272     | 1.472     | 1.573     | 1.572         | 1.572         | 100.0%  | 3     |
+| nova.boot_server            | 61.646    | 62.987    | 64.392    | 64.098        | 64.245        | 100.0%  | 3     |
+| nova.delete_server          | 5.154     | 9.989     | 12.711    | 12.589        | 12.65         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.646     | 5.624     | 8.518     | 8.156         | 8.337         | 100.0%  | 3     |
+| total                       | 223.153   | 223.944   | 224.769   | 224.597       | 224.683       | 100.0%  | 3     |
+| vm.run_command              | 115.662   | 119.65    | 121.729   | 121.695       | 121.712       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.098     | 7.064     | 8.116     | 7.888         | 8.002         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.83      | 11.546    | 14.108    | 14.027        | 14.067        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 224.867930889
+Full duration: 292.860170126
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7e0f8e3a-5299-4b47-8864-f3f68be0eca8 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7e0f8e3a-5299-4b47-8864-f3f68be0eca8
+
+Using task: 7e0f8e3a-5299-4b47-8864-f3f68be0eca8
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24321},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21566},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21454}]
+================================================================================
+
+====> {"randwrite a 1024k": [22447, 2296]}
+
+================================================================================
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:46:45 30045 >>>> Start rally with opts 'task start /tmp/fileJru4im --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileYhs4NT
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  dffd172d-92b2-40f9-9918-be227a0089f1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:48:15 30241 >>>> Start io test
+07:48:15 30241 >>>> Ready and waiting on barrier. Will wait at most 210 seconds
+07:48:23 30239 >>>> Start io test
+07:48:23 30239 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+07:48:23 30240 >>>> Start io test
+07:48:23 30240 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+07:50:00 30239 >>>> Test finished
+07:50:01 30241 >>>> Test finished
+07:50:01 30240 >>>> Test finished
+2015-02-07 07:50:43.620 30045 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 90a79180-8b6c-4acd-a13e-4059d1b91b24.
+
+--------------------------------------------------------------------------------
+Task dffd172d-92b2-40f9-9918-be227a0089f1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileYhs4NT',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.218     | 1.354     | 1.441     | 1.433         | 1.437         | 100.0%  | 3     |
+| nova.boot_server            | 57.863    | 58.522    | 59.818    | 59.431        | 59.625        | 100.0%  | 3     |
+| nova.delete_server          | 5.205     | 5.297     | 5.37      | 5.359         | 5.365         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 3.313     | 5.728     | 7.293     | 7.15          | 7.221         | 100.0%  | 3     |
+| total                       | 192.749   | 193.652   | 195.254   | 194.793       | 195.024       | 100.0%  | 3     |
+| vm.run_command              | 96.933    | 97.745    | 98.403    | 98.302        | 98.353        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.088     | 2.757     | 4.094     | 3.694         | 3.894         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.484     | 10.875    | 15.184    | 14.539        | 14.861        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 195.397474051
+Full duration: 235.461040974
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report dffd172d-92b2-40f9-9918-be227a0089f1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results dffd172d-92b2-40f9-9918-be227a0089f1
+
+Using task: dffd172d-92b2-40f9-9918-be227a0089f1
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7426},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7314},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7291}]
+================================================================================
+
+====> {"write s 1024k": [7343, 102]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:50:47 31049 >>>> Start rally with opts 'task start /tmp/fileDzPbkM --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileYLAZZN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d211f0f7-55eb-4859-a861-53aabf0c018e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:52:42 31254 >>>> Start io test
+07:52:42 31254 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+07:52:47 31256 >>>> Start io test
+07:52:47 31256 >>>> Ready and waiting on barrier. Will wait at most 180 seconds
+07:52:55 31255 >>>> Start io test
+07:52:55 31255 >>>> Ready and waiting on barrier. Will wait at most 172 seconds
+07:54:33 31254 >>>> Test finished
+07:54:35 31255 >>>> Test finished
+07:54:36 31256 >>>> Test finished
+2015-02-07 07:55:34.655 31049 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ce26725b-1cc3-4f7d-9614-853b07ea0bc1.
+
+--------------------------------------------------------------------------------
+Task d211f0f7-55eb-4859-a861-53aabf0c018e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileYLAZZN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.418     | 1.586     | 1.756     | 1.721         | 1.738         | 100.0%  | 3     |
+| nova.boot_server            | 62.034    | 62.998    | 64.049    | 63.822        | 63.935        | 100.0%  | 3     |
+| nova.delete_server          | 5.097     | 8.2       | 9.815     | 9.79          | 9.802         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.608     | 3.274     | 6.576     | 5.588         | 6.082         | 100.0%  | 3     |
+| total                       | 202.86    | 207.667   | 214.501   | 212.729       | 213.615       | 100.0%  | 3     |
+| vm.run_command              | 98.02     | 99.72     | 101.014   | 100.837       | 100.925       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.669     | 5.631     | 6.112     | 6.112         | 6.112         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.743     | 12.234    | 17.783    | 16.661        | 17.222        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 214.645807028
+Full duration: 281.203666925
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d211f0f7-55eb-4859-a861-53aabf0c018e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d211f0f7-55eb-4859-a861-53aabf0c018e
+
+Using task: d211f0f7-55eb-4859-a861-53aabf0c018e
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7472},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7316},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7255}]
+================================================================================
+
+====> {"write s 1024k": [7347, 158]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:55:38 31593 >>>> Start rally with opts 'task start /tmp/file2P5ayw --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileTgfjDk
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6c26bdc9-daeb-46da-a83f-afff4a5af2b7: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+07:57:14 31787 >>>> Start io test
+07:57:14 31787 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+07:57:16 31788 >>>> Start io test
+07:57:16 31788 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+07:57:24 31789 >>>> Start io test
+07:57:24 31789 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+07:58:58 31788 >>>> Test finished
+07:58:59 31787 >>>> Test finished
+07:58:59 31789 >>>> Test finished
+2015-02-07 07:59:39.459 31593 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 464c4a43-519e-469d-bc7a-e17978b8e5d4.
+
+--------------------------------------------------------------------------------
+Task 6c26bdc9-daeb-46da-a83f-afff4a5af2b7: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileTgfjDk',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.356     | 1.466     | 1.566     | 1.548         | 1.557         | 100.0%  | 3     |
+| nova.boot_server            | 59.95     | 61.028    | 62.004    | 61.829        | 61.917        | 100.0%  | 3     |
+| nova.delete_server          | 5.091     | 7.535     | 9.889     | 9.436         | 9.663         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.785     | 4.925     | 6.53      | 6.516         | 6.523         | 100.0%  | 3     |
+| total                       | 194.899   | 198.566   | 201.409   | 201.005       | 201.207       | 100.0%  | 3     |
+| vm.run_command              | 93.78     | 94.894    | 95.697    | 95.598        | 95.648        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.104     | 6.389     | 6.952     | 6.784         | 6.868         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.747     | 8.795     | 12.66     | 11.523        | 12.092        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 201.51223588
+Full duration: 236.613490105
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6c26bdc9-daeb-46da-a83f-afff4a5af2b7 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6c26bdc9-daeb-46da-a83f-afff4a5af2b7
+
+Using task: 6c26bdc9-daeb-46da-a83f-afff4a5af2b7
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7955},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7695},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7694}]
+================================================================================
+
+====> {"write s 1024k": [7781, 212]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+07:59:43 32126 >>>> Start rally with opts 'task start /tmp/filezD23p2 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJ4LzJe
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ecc0997f-bb79-431d-ad49-5811f8a57b37: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+08:01:31 32323 >>>> Start io test
+08:01:31 32323 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+08:01:32 32321 >>>> Start io test
+08:01:32 32321 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+08:01:35 32322 >>>> Start io test
+08:01:35 32322 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+08:03:13 32322 >>>> Test finished
+08:03:13 32323 >>>> Test finished
+08:03:13 32321 >>>> Test finished
+2015-02-07 08:03:54.737 32126 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 05157107-b002-43ac-bfbe-3a0a6bf50b71.
+
+--------------------------------------------------------------------------------
+Task ecc0997f-bb79-431d-ad49-5811f8a57b37: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJ4LzJe',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.464     | 1.521     | 1.551     | 1.551         | 1.551         | 100.0%  | 3     |
+| nova.boot_server            | 63.971    | 64.628    | 65.602    | 65.344        | 65.473        | 100.0%  | 3     |
+| nova.delete_server          | 10.497    | 11.541    | 13.482    | 12.914        | 13.198        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.734     | 1.809     | 1.924     | 1.893         | 1.908         | 100.0%  | 3     |
+| total                       | 200.377   | 201.889   | 202.666   | 202.658       | 202.662       | 100.0%  | 3     |
+| vm.run_command              | 97.581    | 97.583    | 97.584    | 97.584        | 97.584        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.826     | 6.011     | 6.104     | 6.103         | 6.103         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.619     | 8.934     | 11.443    | 10.703        | 11.073        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 202.716145992
+Full duration: 250.202815056
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ecc0997f-bb79-431d-ad49-5811f8a57b37 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ecc0997f-bb79-431d-ad49-5811f8a57b37
+
+Using task: ecc0997f-bb79-431d-ad49-5811f8a57b37
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24086},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24917},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24153}]
+================================================================================
+
+====> {"write a 1024k": [24385, 652]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+08:04:00 32650 >>>> Start rally with opts 'task start /tmp/fileWJYIN4 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileOFYfuf
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1f6c395d-f679-4bb2-a1a9-8f1b9651a9b6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+08:05:47 378 >>>> Start io test
+08:05:47 378 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+08:05:48 376 >>>> Start io test
+08:05:48 376 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+08:05:51 377 >>>> Start io test
+08:05:51 377 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+08:07:27 378 >>>> Test finished
+08:07:28 377 >>>> Test finished
+08:07:28 376 >>>> Test finished
+2015-02-07 08:08:06.782 32650 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 528dad69-af52-4ea6-8f3e-c6b177dea7ab.
+
+--------------------------------------------------------------------------------
+Task 1f6c395d-f679-4bb2-a1a9-8f1b9651a9b6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileOFYfuf',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.382     | 1.419     | 1.493     | 1.471         | 1.482         | 100.0%  | 3     |
+| nova.boot_server            | 57.46     | 59.066    | 60.204    | 60.07         | 60.137        | 100.0%  | 3     |
+| nova.delete_server          | 5.225     | 8.252     | 12.135    | 11.188        | 11.661        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.634     | 5.143     | 7.008     | 6.964         | 6.986         | 100.0%  | 3     |
+| total                       | 187.781   | 192.796   | 198.635   | 197.302       | 197.969       | 100.0%  | 3     |
+| vm.run_command              | 96.141    | 96.832    | 97.213    | 97.199        | 97.206        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.618     | 2.494     | 6.096     | 5.03          | 5.563         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.602     | 9.472     | 13.135    | 12.043        | 12.589        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 198.710188866
+Full duration: 241.19394803
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1f6c395d-f679-4bb2-a1a9-8f1b9651a9b6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1f6c395d-f679-4bb2-a1a9-8f1b9651a9b6
+
+Using task: 1f6c395d-f679-4bb2-a1a9-8f1b9651a9b6
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25366},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24316},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24550}]
+================================================================================
+
+====> {"write a 1024k": [24744, 779]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+08:08:10 704 >>>> Start rally with opts 'task start /tmp/file00keka --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileGmUIzy
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  926e3fea-f66f-4097-84f9-f580f74fee94: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+08:09:49 941 >>>> Start io test
+08:09:49 941 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+08:09:51 940 >>>> Start io test
+08:09:51 940 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+08:09:52 942 >>>> Start io test
+08:09:52 942 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+08:11:28 940 >>>> Test finished
+08:11:29 942 >>>> Test finished
+08:11:30 941 >>>> Test finished
+2015-02-07 08:12:20.733 704 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 21158b04-d7c8-47ec-862a-a0bdd396134e.
+
+--------------------------------------------------------------------------------
+Task 926e3fea-f66f-4097-84f9-f580f74fee94: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileGmUIzy',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.32      | 1.377     | 1.41      | 1.408         | 1.409         | 100.0%  | 3     |
+| nova.boot_server            | 60.95     | 64.727    | 66.695    | 66.663        | 66.679        | 100.0%  | 3     |
+| nova.delete_server          | 5.228     | 7.435     | 9.703     | 9.237         | 9.47          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.781     | 5.062     | 6.755     | 6.734         | 6.745         | 100.0%  | 3     |
+| total                       | 191.932   | 198.325   | 205.642   | 203.994       | 204.818       | 100.0%  | 3     |
+| vm.run_command              | 96.134    | 97.5      | 98.742    | 98.518        | 98.63         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.102     | 6.106     | 6.107     | 6.107         | 6.107         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.785     | 10.032    | 12.484    | 11.752        | 12.118        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 205.729094982
+Full duration: 247.392102957
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 926e3fea-f66f-4097-84f9-f580f74fee94 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 926e3fea-f66f-4097-84f9-f580f74fee94
+
+Using task: 926e3fea-f66f-4097-84f9-f580f74fee94
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23992},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22887},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22359}]
+================================================================================
+
+====> {"write a 1024k": [23079, 1178]}
+
+================================================================================
++ bsizes='4k 64k 256k 1m'
++ ops='randread read'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+08:12:25 1529 >>>> Start rally with opts 'task start /tmp/fileaCoODa --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileTNNHYC
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6f8e378d-c2ec-475c-959c-03197dc175bb: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+08:14:02 2026 >>>> Start io test
+08:14:02 2026 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+08:14:05 2028 >>>> Start io test
+08:14:05 2028 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+08:14:08 2027 >>>> Start io test
+08:14:08 2027 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+08:27:30 2027 >>>> Test finished
+08:29:40 2028 >>>> Test finished
+08:29:46 2026 >>>> Test finished
+2015-02-07 08:30:36.230 1529 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4ed1cf6f-ac57-4036-a532-222f635b6acc.
+
+--------------------------------------------------------------------------------
+Task 6f8e378d-c2ec-475c-959c-03197dc175bb: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileTNNHYC',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.465     | 1.917     | 2.369     | 2.279         | 2.324         | 66.7%   | 3     |
+| nova.boot_server            | 61.068    | 63.999    | 66.929    | 66.343        | 66.636        | 66.7%   | 3     |
+| nova.delete_server          | 12.24     | 70.62     | 128.999   | 117.323       | 123.161       | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.554     | 7.742     | 7.929     | 7.892         | 7.911         | 66.7%   | 3     |
+| total                       | 1028.38   | 1034.636  | 1040.891  | 1039.64       | 1040.266      | 66.7%   | 3     |
+| vm.run_command              | 801.815   | 869.789   | 937.763   | 924.168       | 930.966       | 66.7%   | 3     |
+| vm.wait_for_ping            | 0.073     | 3.089     | 6.104     | 5.501         | 5.803         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 6.232     | 6.249     | 6.266     | 6.263         | 6.264         | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1040.95126796
+Full duration: 1091.82579184
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6f8e378d-c2ec-475c-959c-03197dc175bb --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6f8e378d-c2ec-475c-959c-03197dc175bb
+
+Using task: 6f8e378d-c2ec-475c-959c-03197dc175bb
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5503},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4189},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3769}]
+================================================================================
+
+====> {"randread a 4k": [4487, 1279]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+08:30:43 2486 >>>> Start rally with opts 'task start /tmp/filebzscSY --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filenm8EJQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d22b3a3b-05ff-45bd-8857-cf50e18353ee: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+08:32:24 2685 >>>> Start io test
+08:32:24 2685 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+08:32:31 2687 >>>> Start io test
+08:32:31 2687 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+08:32:37 2686 >>>> Start io test
+08:32:37 2686 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+08:40:24 2685 >>>> Test finished
+08:46:19 2686 >>>> Test finished
+08:48:07 2687 >>>> Test finished
+2015-02-07 08:49:00.011 2486 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 48a9543e-c66a-42e4-a6e3-ef0501d36877.
+
+--------------------------------------------------------------------------------
+Task d22b3a3b-05ff-45bd-8857-cf50e18353ee: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filenm8EJQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.394     | 1.521     | 1.649     | 1.623         | 1.636         | 66.7%   | 3     |
+| nova.boot_server            | 62.888    | 66.349    | 69.81     | 69.117        | 69.463        | 66.7%   | 3     |
+| nova.delete_server          | 94.131    | 97.314    | 100.497   | 99.861        | 100.179       | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.349     | 7.599     | 7.849     | 7.799         | 7.824         | 66.7%   | 3     |
+| total                       | 668.503   | 849.079   | 1029.656  | 993.54        | 1011.598      | 66.7%   | 3     |
+| vm.run_command              | 467.458   | 644.864   | 822.27    | 786.789       | 804.529       | 66.7%   | 3     |
+| vm.wait_for_ping            | 6.101     | 6.43      | 6.76      | 6.694         | 6.727         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 7.418     | 9.005     | 10.593    | 10.275        | 10.434        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1047.71427584
+Full duration: 1095.81438899
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d22b3a3b-05ff-45bd-8857-cf50e18353ee --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d22b3a3b-05ff-45bd-8857-cf50e18353ee
+
+Using task: d22b3a3b-05ff-45bd-8857-cf50e18353ee
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5386},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2392},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1900}]
+================================================================================
+
+====> {"randread a 4k": [3226, 2668]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+08:49:06 3172 >>>> Start rally with opts 'task start /tmp/filetpWCRE --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileP9ecdN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  b132d4bd-1e4a-414e-a0c8-d254ad2a82c6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+08:50:50 3368 >>>> Start io test
+08:50:50 3368 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+08:50:50 3367 >>>> Start io test
+08:50:50 3367 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+08:50:52 3366 >>>> Start io test
+08:50:52 3366 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+08:58:55 3366 >>>> Test finished
+09:02:35 3367 >>>> Test finished
+09:06:26 3368 >>>> Test finished
+2015-02-07 09:07:25.364 3172 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d9323f9e-1845-454d-bed7-b1709ad2c26e.
+
+--------------------------------------------------------------------------------
+Task b132d4bd-1e4a-414e-a0c8-d254ad2a82c6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileP9ecdN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.417     | 1.557     | 1.698     | 1.67          | 1.684         | 66.7%   | 3     |
+| nova.boot_server            | 61.468    | 61.976    | 62.483    | 62.382        | 62.432        | 66.7%   | 3     |
+| nova.delete_server          | 104.616   | 113.752   | 122.887   | 121.06        | 121.973       | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.277     | 7.676     | 8.076     | 7.996         | 8.036         | 66.7%   | 3     |
+| total                       | 684.486   | 803.474   | 922.461   | 898.664       | 910.563       | 66.7%   | 3     |
+| vm.run_command              | 482.715   | 592.957   | 703.199   | 681.151       | 692.175       | 66.7%   | 3     |
+| vm.wait_for_ping            | 6.106     | 6.107     | 6.107     | 6.107         | 6.107         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 8.058     | 10.069    | 12.08     | 11.678        | 11.879        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1034.77671695
+Full duration: 1095.99496317
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report b132d4bd-1e4a-414e-a0c8-d254ad2a82c6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results b132d4bd-1e4a-414e-a0c8-d254ad2a82c6
+
+Using task: b132d4bd-1e4a-414e-a0c8-d254ad2a82c6
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5314},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2521},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1534}]
+================================================================================
+
+====> {"randread a 4k": [3123, 2772]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:07:29 3847 >>>> Start rally with opts 'task start /tmp/fileUoTHWy --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filet9e52W
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3d649cde-4f33-4e43-b13a-f2588953d7c6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:09:20 4050 >>>> Start io test
+09:09:20 4050 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+09:09:20 4052 >>>> Start io test
+09:09:20 4052 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+09:09:25 4051 >>>> Start io test
+09:09:25 4051 >>>> Ready and waiting on barrier. Will wait at most 183 seconds
+09:10:28 4051 >>>> Test finished
+09:10:30 4052 >>>> Test finished
+09:10:30 4050 >>>> Test finished
+2015-02-07 09:11:06.055 3847 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c562cacc-ca0a-47e1-bc58-bee372c03b3b.
+
+--------------------------------------------------------------------------------
+Task 3d649cde-4f33-4e43-b13a-f2588953d7c6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filet9e52W',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.418     | 1.485     | 1.539     | 1.53          | 1.534         | 100.0%  | 3     |
+| nova.boot_server            | 61.404    | 62.441    | 63.83     | 63.482        | 63.656        | 100.0%  | 3     |
+| nova.delete_server          | 5.093     | 7.317     | 10.767    | 9.832         | 10.3          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.113     | 5.158     | 6.735     | 6.713         | 6.724         | 100.0%  | 3     |
+| total                       | 167.969   | 170.727   | 173.947   | 173.211       | 173.579       | 100.0%  | 3     |
+| vm.run_command              | 63.495    | 64.839    | 65.666    | 65.604        | 65.635        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.467     | 2.412     | 6.109     | 5.019         | 5.564         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.516    | 14.576    | 16.971    | 16.625        | 16.798        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 174.04351306
+Full duration: 214.18448782
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3d649cde-4f33-4e43-b13a-f2588953d7c6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3d649cde-4f33-4e43-b13a-f2588953d7c6
+
+Using task: 3d649cde-4f33-4e43-b13a-f2588953d7c6
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 99531},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 76073},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 73144}]
+================================================================================
+
+====> {"read a 4k": [82916, 20454]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:11:09 4423 >>>> Start rally with opts 'task start /tmp/fileVMvOh8 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewh1EML
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  47e9f1a3-5f13-48be-be47-e72385ba8c24: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:12:44 4677 >>>> Start io test
+09:12:44 4677 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+09:12:48 4676 >>>> Start io test
+09:12:48 4676 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+09:12:48 4675 >>>> Start io test
+09:12:48 4675 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+09:13:51 4675 >>>> Test finished
+09:13:51 4677 >>>> Test finished
+09:13:52 4676 >>>> Test finished
+2015-02-07 09:14:26.044 4423 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ff7b5ae0-e494-463c-a9f6-b83e8abe54e2.
+
+--------------------------------------------------------------------------------
+Task 47e9f1a3-5f13-48be-be47-e72385ba8c24: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewh1EML',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.562     | 1.607     | 1.673     | 1.656         | 1.664         | 100.0%  | 3     |
+| nova.boot_server            | 59.105    | 60.919    | 64.476    | 63.416        | 63.946        | 100.0%  | 3     |
+| nova.delete_server          | 5.118     | 8.555     | 10.43     | 10.367        | 10.398        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.674     | 3.344     | 6.606     | 5.635         | 6.121         | 100.0%  | 3     |
+| total                       | 156.847   | 158.523   | 161.278   | 160.511       | 160.895       | 100.0%  | 3     |
+| vm.run_command              | 62.511    | 62.987    | 63.742    | 63.535        | 63.639        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.088     | 4.769     | 6.11      | 6.11          | 6.11          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.274     | 8.273     | 11.448    | 10.578        | 11.013        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 161.418390989
+Full duration: 191.553050041
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 47e9f1a3-5f13-48be-be47-e72385ba8c24 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 47e9f1a3-5f13-48be-be47-e72385ba8c24
+
+Using task: 47e9f1a3-5f13-48be-be47-e72385ba8c24
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 95603},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93830},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90468}]
+================================================================================
+
+====> {"read a 4k": [93300, 3688]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:14:29 5608 >>>> Start rally with opts 'task start /tmp/filenEEyTW --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedMcchz
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  cb71d0ac-ac58-4585-b4bb-88dcf0146325: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:16:04 5883 >>>> Start io test
+09:16:04 5883 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+09:16:14 5882 >>>> Start io test
+09:16:14 5882 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+09:16:22 5888 >>>> Start io test
+09:16:22 5888 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+09:17:24 5888 >>>> Test finished
+09:17:25 5882 >>>> Test finished
+09:17:25 5883 >>>> Test finished
+2015-02-07 09:17:58.067 5608 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b7b4ac83-049d-43b3-ae87-d3be5bc0b7c6.
+
+--------------------------------------------------------------------------------
+Task cb71d0ac-ac58-4585-b4bb-88dcf0146325: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedMcchz',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.469     | 2.326     | 3.92      | 3.454         | 3.687         | 100.0%  | 3     |
+| nova.boot_server            | 56.531    | 62.663    | 65.784    | 65.762        | 65.773        | 100.0%  | 3     |
+| nova.delete_server          | 5.119     | 9.148     | 11.286    | 11.237        | 11.262        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.555     | 3.422     | 6.768     | 5.803         | 6.286         | 100.0%  | 3     |
+| total                       | 160.915   | 168.7     | 172.649   | 172.627       | 172.638       | 100.0%  | 3     |
+| vm.run_command              | 62.78     | 63.009    | 63.175    | 63.155        | 63.165        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.094     | 5.435     | 6.107     | 6.107         | 6.107         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.655     | 8.367     | 11.086    | 10.341        | 10.714        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 172.747722149
+Full duration: 205.821152925
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report cb71d0ac-ac58-4585-b4bb-88dcf0146325 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results cb71d0ac-ac58-4585-b4bb-88dcf0146325
+
+Using task: cb71d0ac-ac58-4585-b4bb-88dcf0146325
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 91526},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87732},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87396}]
+================================================================================
+
+====> {"read a 4k": [88884, 3243]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:18:02 6314 >>>> Start rally with opts 'task start /tmp/file3mUvwr --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedT9JsA
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a2a17a56-edd9-4e49-bb47-03759c12252e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:19:49 6525 >>>> Start io test
+09:19:49 6525 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+09:19:51 6526 >>>> Start io test
+09:19:51 6526 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+09:19:54 6524 >>>> Start io test
+09:19:54 6524 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+09:22:46 6525 >>>> Test finished
+09:22:46 6524 >>>> Test finished
+09:23:38 6526 >>>> Test finished
+2015-02-07 09:24:26.678 6314 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 129a7521-b5b1-4bb2-bedf-a2ec3ff39727.
+
+--------------------------------------------------------------------------------
+Task a2a17a56-edd9-4e49-bb47-03759c12252e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedT9JsA',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.39      | 1.407     | 1.428     | 1.423         | 1.425         | 100.0%  | 3     |
+| nova.boot_server            | 59.017    | 62.816    | 66.596    | 65.844        | 66.22         | 100.0%  | 3     |
+| nova.delete_server          | 11.838    | 37.474    | 52.795    | 51.794        | 52.294        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.251     | 5.672     | 7.436     | 7.415         | 7.425         | 100.0%  | 3     |
+| total                       | 323.357   | 325.453   | 329.634   | 328.381       | 329.008       | 100.0%  | 3     |
+| vm.run_command              | 171.742   | 189.194   | 224.078   | 213.614       | 218.846       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.109     | 7.01      | 8.12      | 7.856         | 7.988         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.519    | 12.914    | 14.069    | 13.886        | 13.978        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 329.737885952
+Full duration: 382.644975185
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a2a17a56-edd9-4e49-bb47-03759c12252e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a2a17a56-edd9-4e49-bb47-03759c12252e
+
+Using task: a2a17a56-edd9-4e49-bb47-03759c12252e
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 48244},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 47495},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8336}]
+================================================================================
+
+====> {"randread a 64k": [34691, 32283]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:24:31 6898 >>>> Start rally with opts 'task start /tmp/fileZhJXpP --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filezKWg8h
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  940f6485-2e69-4e94-8b65-8eb9494783b6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:26:20 7094 >>>> Start io test
+09:26:20 7094 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+09:26:27 7093 >>>> Start io test
+09:26:27 7093 >>>> Ready and waiting on barrier. Will wait at most 183 seconds
+09:26:27 7092 >>>> Start io test
+09:26:27 7092 >>>> Ready and waiting on barrier. Will wait at most 183 seconds
+09:28:33 7093 >>>> Test finished
+09:29:42 7094 >>>> Test finished
+09:30:20 7092 >>>> Test finished
+2015-02-07 09:31:11.764 6898 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 72a2d216-37e4-4420-96e5-78617a4c0086.
+
+--------------------------------------------------------------------------------
+Task 940f6485-2e69-4e94-8b65-8eb9494783b6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filezKWg8h',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.436     | 3.64      | 6.383     | 5.726         | 6.054         | 100.0%  | 3     |
+| nova.boot_server            | 64.623    | 70.179    | 73.375    | 73.208        | 73.291        | 100.0%  | 3     |
+| nova.delete_server          | 1.147     | 38.339    | 103.885   | 85.105        | 94.495        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.227     | 5.186     | 6.678     | 6.673         | 6.676         | 100.0%  | 3     |
+| total                       | 304.036   | 329.533   | 346.853   | 345.024       | 345.939       | 100.0%  | 3     |
+| vm.run_command              | 125.406   | 184.207   | 232.809   | 225.128       | 228.969       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.082     | 1.7       | 4.678     | 3.81          | 4.244         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.932    | 13.48     | 13.818    | 13.792        | 13.805        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 346.982502937
+Full duration: 398.04799509
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 940f6485-2e69-4e94-8b65-8eb9494783b6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 940f6485-2e69-4e94-8b65-8eb9494783b6
+
+Using task: 940f6485-2e69-4e94-8b65-8eb9494783b6
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 42398},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14261},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9542}]
+================================================================================
+
+====> {"randread a 64k": [22067, 25122]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:31:16 7438 >>>> Start rally with opts 'task start /tmp/fileefJia9 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filekFt9Ko
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  38ef5614-235a-4090-b514-b3a04a7f39cc: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:32:55 7634 >>>> Start io test
+09:32:55 7634 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+09:33:02 7633 >>>> Start io test
+09:33:02 7633 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+09:33:04 7635 >>>> Start io test
+09:33:04 7635 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+09:35:26 7634 >>>> Test finished
+09:36:18 7633 >>>> Test finished
+09:36:58 7635 >>>> Test finished
+2015-02-07 09:38:00.841 7438 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6f676b0c-8c03-4f8d-892f-4a655a45b543.
+
+--------------------------------------------------------------------------------
+Task 38ef5614-235a-4090-b514-b3a04a7f39cc: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filekFt9Ko',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.478     | 1.504     | 1.53      | 1.525         | 1.527         | 100.0%  | 3     |
+| nova.boot_server            | 60.928    | 62.319    | 63.39     | 63.239        | 63.315        | 100.0%  | 3     |
+| nova.delete_server          | 10.981    | 46.714    | 89.044    | 79.259        | 84.152        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.587     | 6.918     | 7.32      | 7.225         | 7.272         | 100.0%  | 3     |
+| total                       | 332.412   | 338.218   | 348.122   | 345.322       | 346.722       | 100.0%  | 3     |
+| vm.run_command              | 142.437   | 190.292   | 233.87    | 226.01        | 229.94        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.108     | 6.111     | 6.113     | 6.113         | 6.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.804     | 12.405    | 14.75     | 14.732        | 14.741        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 348.163263083
+Full duration: 400.523308039
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 38ef5614-235a-4090-b514-b3a04a7f39cc --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 38ef5614-235a-4090-b514-b3a04a7f39cc
+
+Using task: 38ef5614-235a-4090-b514-b3a04a7f39cc
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 48602},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 17733},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8705}]
+================================================================================
+
+====> {"randread a 64k": [25013, 29586]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:38:04 8196 >>>> Start rally with opts 'task start /tmp/filekNpF32 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file4sOp8W
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5c50c0cb-8a83-495e-bf5d-e04468cf121a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:39:46 8547 >>>> Start io test
+09:39:46 8547 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+09:39:47 8546 >>>> Start io test
+09:39:47 8546 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+09:39:49 8548 >>>> Start io test
+09:39:49 8548 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+09:40:59 8546 >>>> Test finished
+09:40:59 8548 >>>> Test finished
+09:41:00 8547 >>>> Test finished
+2015-02-07 09:41:36.930 8196 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 23a9494f-1632-4cfb-830e-23d1a0f8b773.
+
+--------------------------------------------------------------------------------
+Task 5c50c0cb-8a83-495e-bf5d-e04468cf121a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file4sOp8W',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.378     | 1.497     | 1.61      | 1.588         | 1.599         | 100.0%  | 3     |
+| nova.boot_server            | 64.386    | 64.444    | 64.485    | 64.48         | 64.483        | 100.0%  | 3     |
+| nova.delete_server          | 9.686     | 9.799     | 9.874     | 9.867         | 9.871         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.492     | 1.64      | 1.724     | 1.72          | 1.722         | 100.0%  | 3     |
+| total                       | 171.974   | 172.463   | 173.005   | 172.886       | 172.946       | 100.0%  | 3     |
+| vm.run_command              | 70.211    | 70.707    | 71.424    | 71.236        | 71.33         | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.1       | 6.777     | 8.116     | 8.115         | 8.115         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.962     | 10.991    | 11.794    | 11.679        | 11.737        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 173.049220085
+Full duration: 209.590857029
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5c50c0cb-8a83-495e-bf5d-e04468cf121a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5c50c0cb-8a83-495e-bf5d-e04468cf121a
+
+Using task: 5c50c0cb-8a83-495e-bf5d-e04468cf121a
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 59261},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 56375},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 55277}]
+================================================================================
+
+====> {"read a 64k": [56971, 2910]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:41:40 9028 >>>> Start rally with opts 'task start /tmp/fileadQ6KD --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file41JcUW
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  558e9437-ec9f-4c25-aa4b-dc859e542c4c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:43:17 9292 >>>> Start io test
+09:43:17 9292 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+09:43:18 9291 >>>> Start io test
+09:43:18 9291 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+09:43:27 9293 >>>> Start io test
+09:43:27 9293 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+09:44:30 9293 >>>> Test finished
+09:44:31 9292 >>>> Test finished
+09:44:31 9291 >>>> Test finished
+2015-02-07 09:45:23.451 9028 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 12e37a99-26d4-4936-8567-b2bf83a705b9.
+
+--------------------------------------------------------------------------------
+Task 558e9437-ec9f-4c25-aa4b-dc859e542c4c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file41JcUW',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.448     | 1.471     | 1.488     | 1.486         | 1.487         | 100.0%  | 3     |
+| nova.boot_server            | 61.848    | 61.872    | 61.918    | 61.905        | 61.911        | 100.0%  | 3     |
+| nova.delete_server          | 5.114     | 9.006     | 13.754    | 12.633        | 13.194        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 3.417     | 3.643     | 4.045     | 3.929         | 3.987         | 100.0%  | 3     |
+| total                       | 166.581   | 168.911   | 172.177   | 171.337       | 171.757       | 100.0%  | 3     |
+| vm.run_command              | 63.243    | 63.993    | 64.449    | 64.417        | 64.433        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.109     | 6.956     | 8.11      | 7.818         | 7.964         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.749     | 10.949    | 18.286    | 16.191        | 17.238        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 172.244430065
+Full duration: 219.869734049
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 558e9437-ec9f-4c25-aa4b-dc859e542c4c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 558e9437-ec9f-4c25-aa4b-dc859e542c4c
+
+Using task: 558e9437-ec9f-4c25-aa4b-dc859e542c4c
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90978},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 77324},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 77566}]
+================================================================================
+
+====> {"read a 64k": [81956, 11050]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:45:27 10164 >>>> Start rally with opts 'task start /tmp/filepa6dSS --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJLxQLe
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c6737b37-699a-46c3-8ceb-6f2ac610f355: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:47:07 10643 >>>> Start io test
+09:47:07 10643 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+09:47:10 10641 >>>> Start io test
+09:47:10 10641 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+09:47:13 10642 >>>> Start io test
+09:47:13 10642 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+09:48:16 10643 >>>> Test finished
+09:48:16 10641 >>>> Test finished
+09:48:17 10642 >>>> Test finished
+2015-02-07 09:48:47.641 10164 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ebff41cd-e2b5-495f-8908-6d983fa46244.
+
+--------------------------------------------------------------------------------
+Task c6737b37-699a-46c3-8ceb-6f2ac610f355: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJLxQLe',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.319     | 1.373     | 1.436     | 1.422         | 1.429         | 100.0%  | 3     |
+| nova.boot_server            | 59.622    | 61.547    | 62.828    | 62.7          | 62.764        | 100.0%  | 3     |
+| nova.delete_server          | 5.122     | 5.326     | 5.66      | 5.567         | 5.614         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.638     | 1.684     | 1.757     | 1.737         | 1.747         | 100.0%  | 3     |
+| total                       | 155.654   | 157.903   | 162.097   | 160.869       | 161.483       | 100.0%  | 3     |
+| vm.run_command              | 62.544    | 62.972    | 63.591    | 63.429        | 63.51         | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.334     | 4.433     | 6.862     | 6.711         | 6.787         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.599     | 9.955     | 11.808    | 11.738        | 11.773        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 162.217851877
+Full duration: 197.687126875
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c6737b37-699a-46c3-8ceb-6f2ac610f355 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c6737b37-699a-46c3-8ceb-6f2ac610f355
+
+Using task: c6737b37-699a-46c3-8ceb-6f2ac610f355
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88907},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87305},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 76590}]
+================================================================================
+
+====> {"read a 64k": [84267, 9470]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:48:52 11443 >>>> Start rally with opts 'task start /tmp/fileH6J4up --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileSMCtyz
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  365dbbaa-ff36-4f66-98bb-2a0f8d09ec61: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:50:35 11648 >>>> Start io test
+09:50:35 11648 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+09:50:36 11650 >>>> Start io test
+09:50:36 11650 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+09:50:40 11649 >>>> Start io test
+09:50:40 11649 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+09:52:53 11650 >>>> Test finished
+09:53:04 11648 >>>> Test finished
+09:53:04 11649 >>>> Test finished
+2015-02-07 09:53:54.291 11443 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a4a41cee-17e9-4909-b2c7-bb59e0a7b554.
+
+--------------------------------------------------------------------------------
+Task 365dbbaa-ff36-4f66-98bb-2a0f8d09ec61: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileSMCtyz',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.505     | 1.655     | 1.823     | 1.786         | 1.804         | 100.0%  | 3     |
+| nova.boot_server            | 61.858    | 62.473    | 63.634    | 63.293        | 63.464        | 100.0%  | 3     |
+| nova.delete_server          | 5.134     | 7.684     | 9.79      | 9.458         | 9.624         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.613     | 7.032     | 7.275     | 7.262         | 7.268         | 100.0%  | 3     |
+| total                       | 238.82    | 245.95    | 251.85    | 250.916       | 251.383       | 100.0%  | 3     |
+| vm.run_command              | 133.157   | 140.268   | 143.847   | 143.838       | 143.842       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.104     | 6.107     | 6.109     | 6.109         | 6.109         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.531     | 8.658     | 11.788    | 10.961        | 11.374        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 251.929288149
+Full duration: 298.532417059
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 365dbbaa-ff36-4f66-98bb-2a0f8d09ec61 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 365dbbaa-ff36-4f66-98bb-2a0f8d09ec61
+
+Using task: 365dbbaa-ff36-4f66-98bb-2a0f8d09ec61
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 65631},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57584},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 60399}]
+================================================================================
+
+====> {"randread a 256k": [61204, 5775]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:53:58 11997 >>>> Start rally with opts 'task start /tmp/fileERfACz --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJrutEY
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a9141d4d-7eb7-42f8-8d8e-f2a7205e2bc1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+09:55:40 12193 >>>> Start io test
+09:55:40 12193 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+09:55:43 12191 >>>> Start io test
+09:55:43 12191 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+09:55:46 12192 >>>> Start io test
+09:55:46 12192 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+09:58:07 12193 >>>> Test finished
+09:58:12 12191 >>>> Test finished
+09:58:13 12192 >>>> Test finished
+2015-02-07 09:59:11.077 11997 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 46022c78-9deb-4cd9-8dd8-c64bd3e5a860.
+
+--------------------------------------------------------------------------------
+Task a9141d4d-7eb7-42f8-8d8e-f2a7205e2bc1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJrutEY',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.334     | 1.439     | 1.55      | 1.527         | 1.538         | 100.0%  | 3     |
+| nova.boot_server            | 61.09     | 62.915    | 65.098    | 64.59         | 64.844        | 100.0%  | 3     |
+| nova.delete_server          | 6.198     | 7.809     | 11.012    | 10.053        | 10.533        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.655     | 7.119     | 8.03      | 7.759         | 7.895         | 100.0%  | 3     |
+| total                       | 243.644   | 246.775   | 251.33    | 250.134       | 250.732       | 100.0%  | 3     |
+| vm.run_command              | 140.849   | 144.557   | 146.831   | 146.663       | 146.747       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.104     | 6.11      | 6.113     | 6.113         | 6.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.658     | 7.681     | 8.656     | 8.471         | 8.563         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 251.435683966
+Full duration: 309.52210784
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a9141d4d-7eb7-42f8-8d8e-f2a7205e2bc1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a9141d4d-7eb7-42f8-8d8e-f2a7205e2bc1
+
+Using task: a9141d4d-7eb7-42f8-8d8e-f2a7205e2bc1
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 63617},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 56292},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57334}]
+================================================================================
+
+====> {"randread a 256k": [59081, 5604]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+09:59:16 12977 >>>> Start rally with opts 'task start /tmp/filekkm8UC --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filelx2jMQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e4e6fae1-a3a7-4675-a1b8-d104b0debc4b: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:01:09 13237 >>>> Start io test
+10:01:09 13237 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+10:01:09 13235 >>>> Start io test
+10:01:09 13235 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+10:01:10 13236 >>>> Start io test
+10:01:10 13236 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+10:03:27 13235 >>>> Test finished
+10:03:27 13236 >>>> Test finished
+10:03:29 13237 >>>> Test finished
+2015-02-07 10:04:21.202 12977 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 36978c7b-d21a-45c6-aca7-ea9ec9370d59.
+
+--------------------------------------------------------------------------------
+Task e4e6fae1-a3a7-4675-a1b8-d104b0debc4b: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filelx2jMQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.633     | 1.651     | 1.679     | 1.671         | 1.675         | 100.0%  | 3     |
+| nova.boot_server            | 67.171    | 67.319    | 67.548    | 67.486        | 67.517        | 100.0%  | 3     |
+| nova.delete_server          | 7.419     | 7.461     | 7.526     | 7.508         | 7.517         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.574     | 3.267     | 6.547     | 5.574         | 6.06          | 100.0%  | 3     |
+| total                       | 238.899   | 241.223   | 243.76    | 243.21        | 243.485       | 100.0%  | 3     |
+| vm.run_command              | 137.17    | 137.861   | 139.215   | 138.811       | 139.013       | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.545     | 5.922     | 6.111     | 6.111         | 6.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.42      | 8.558     | 8.772     | 8.714         | 8.743         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 243.831267118
+Full duration: 301.342244148
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e4e6fae1-a3a7-4675-a1b8-d104b0debc4b --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e4e6fae1-a3a7-4675-a1b8-d104b0debc4b
+
+Using task: e4e6fae1-a3a7-4675-a1b8-d104b0debc4b
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 62448},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 62800},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 61715}]
+================================================================================
+
+====> {"randread a 256k": [62321, 782]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:04:26 13965 >>>> Start rally with opts 'task start /tmp/filecSaEIR --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filetfzIRc
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e720590f-af3f-4f27-9195-e41b6315c090: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:06:18 14161 >>>> Start io test
+10:06:18 14161 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+10:06:18 14162 >>>> Start io test
+10:06:18 14162 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+10:06:22 14163 >>>> Start io test
+10:06:22 14163 >>>> Ready and waiting on barrier. Will wait at most 183 seconds
+10:07:26 14162 >>>> Test finished
+10:07:29 14163 >>>> Test finished
+10:07:29 14161 >>>> Test finished
+2015-02-07 10:08:07.933 13965 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 69a0c562-1cf6-429e-b152-4ec130f7fcc3.
+
+--------------------------------------------------------------------------------
+Task e720590f-af3f-4f27-9195-e41b6315c090: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filetfzIRc',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.276     | 1.503     | 1.827     | 1.743         | 1.785         | 100.0%  | 3     |
+| nova.boot_server            | 67.628    | 69.339    | 70.452    | 70.349        | 70.401        | 100.0%  | 3     |
+| nova.delete_server          | 5.256     | 6.742     | 9.702     | 8.815         | 9.259         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.636     | 5.031     | 6.775     | 6.756         | 6.765         | 100.0%  | 3     |
+| total                       | 170.463   | 174.695   | 177.617   | 177.294       | 177.456       | 100.0%  | 3     |
+| vm.run_command              | 64.382    | 66.07     | 67.125    | 67.04         | 67.083        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.225     | 5.807     | 6.1       | 6.1           | 6.1           | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.021    | 14.325    | 16.052    | 15.622        | 15.837        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 177.765486002
+Full duration: 219.077759981
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e720590f-af3f-4f27-9195-e41b6315c090 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e720590f-af3f-4f27-9195-e41b6315c090
+
+Using task: e720590f-af3f-4f27-9195-e41b6315c090
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 91439},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 75477},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 74403}]
+================================================================================
+
+====> {"read a 256k": [80439, 13492]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:08:12 14492 >>>> Start rally with opts 'task start /tmp/filepYXGJy --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filelYd24X
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fbf176ec-59b6-4479-bfcd-327aa8305ee8: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:09:47 14687 >>>> Start io test
+10:09:47 14687 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+10:09:47 14689 >>>> Start io test
+10:09:47 14689 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+10:09:57 14688 >>>> Start io test
+10:09:57 14688 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+10:11:00 14687 >>>> Test finished
+10:11:01 14688 >>>> Test finished
+10:11:01 14689 >>>> Test finished
+2015-02-07 10:11:34.867 14492 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 29541a7a-32b6-4493-ac8c-a8fc4e7a63dc.
+
+--------------------------------------------------------------------------------
+Task fbf176ec-59b6-4479-bfcd-327aa8305ee8: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filelYd24X',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.31      | 1.51      | 1.819     | 1.735         | 1.777         | 100.0%  | 3     |
+| nova.boot_server            | 60.113    | 62.946    | 65.659    | 65.14         | 65.399        | 100.0%  | 3     |
+| nova.delete_server          | 5.094     | 5.529     | 6.172     | 6.002         | 6.087         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.703     | 6.786     | 6.89      | 6.865         | 6.877         | 100.0%  | 3     |
+| total                       | 164.629   | 167.254   | 171.589   | 170.38        | 170.985       | 100.0%  | 3     |
+| vm.run_command              | 63.371    | 63.88     | 64.148    | 64.143        | 64.145        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.105     | 6.486     | 6.923     | 6.824         | 6.874         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.46      | 8.85      | 12.399    | 11.457        | 11.928        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 171.642055988
+Full duration: 201.237478018
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fbf176ec-59b6-4479-bfcd-327aa8305ee8 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fbf176ec-59b6-4479-bfcd-327aa8305ee8
+
+Using task: fbf176ec-59b6-4479-bfcd-327aa8305ee8
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 96022},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87947},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88397}]
+================================================================================
+
+====> {"read a 256k": [90788, 6417]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:11:39 15416 >>>> Start rally with opts 'task start /tmp/filenkcSWB --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filehNjYtI
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c45cd436-e2cc-4699-82c6-03f9be17a069: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:13:33 15652 >>>> Start io test
+10:13:33 15652 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+10:13:37 15654 >>>> Start io test
+10:13:37 15654 >>>> Ready and waiting on barrier. Will wait at most 182 seconds
+10:13:43 15653 >>>> Start io test
+10:13:43 15653 >>>> Ready and waiting on barrier. Will wait at most 176 seconds
+10:14:48 15654 >>>> Test finished
+10:14:49 15653 >>>> Test finished
+10:14:50 15652 >>>> Test finished
+2015-02-07 10:15:36.928 15416 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a867517c-7e57-4909-a225-62d6a3c6f629.
+
+--------------------------------------------------------------------------------
+Task c45cd436-e2cc-4699-82c6-03f9be17a069: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filehNjYtI',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.425     | 1.587     | 1.849     | 1.776         | 1.813         | 100.0%  | 3     |
+| nova.boot_server            | 61.703    | 65.231    | 67.484    | 67.288        | 67.386        | 100.0%  | 3     |
+| nova.delete_server          | 5.163     | 8.431     | 12.619    | 11.598        | 12.108        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.508     | 2.359     | 2.898     | 2.853         | 2.876         | 100.0%  | 3     |
+| total                       | 161.694   | 165.791   | 170.402   | 169.377       | 169.89        | 100.0%  | 3     |
+| vm.run_command              | 64.218    | 65.639    | 66.945    | 66.707        | 66.826        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.116     | 7.204     | 8.121     | 7.972         | 8.046         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 4.367     | 6.681     | 10.086    | 9.187         | 9.636         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 170.532369137
+Full duration: 231.086163998
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c45cd436-e2cc-4699-82c6-03f9be17a069 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c45cd436-e2cc-4699-82c6-03f9be17a069
+
+Using task: c45cd436-e2cc-4699-82c6-03f9be17a069
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 78551},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 68503},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 67400}]
+================================================================================
+
+====> {"read a 256k": [71484, 8689]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:15:41 16445 >>>> Start rally with opts 'task start /tmp/fileOO2BHE --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filejqqq6h
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  dcb8cdcb-8d6b-4045-8410-38f099d8b6ba: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:17:24 16644 >>>> Start io test
+10:17:24 16644 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+10:17:29 16646 >>>> Start io test
+10:17:29 16646 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+10:17:35 16645 >>>> Start io test
+10:17:35 16645 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+10:19:26 16645 >>>> Test finished
+10:19:30 16646 >>>> Test finished
+10:19:34 16644 >>>> Test finished
+2015-02-07 10:20:30.336 16445 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6167702b-65d1-44d0-8762-104ba7a78979.
+
+--------------------------------------------------------------------------------
+Task dcb8cdcb-8d6b-4045-8410-38f099d8b6ba: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filejqqq6h',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.467     | 1.541     | 1.592     | 1.586         | 1.589         | 100.0%  | 3     |
+| nova.boot_server            | 69.414    | 70.106    | 70.477    | 70.467        | 70.472        | 100.0%  | 3     |
+| nova.delete_server          | 7.447     | 10.731    | 17.238    | 15.291        | 16.265        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.843     | 6.31      | 10.564    | 9.756         | 10.16         | 100.0%  | 3     |
+| total                       | 229.704   | 235.32    | 238.158   | 238.146       | 238.152       | 100.0%  | 3     |
+| vm.run_command              | 111.01    | 115.184   | 119.267   | 118.469       | 118.868       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.104     | 6.192     | 6.256     | 6.248         | 6.252         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.581     | 12.463    | 17.743    | 16.807        | 17.275        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 238.308779001
+Full duration: 286.728914976
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report dcb8cdcb-8d6b-4045-8410-38f099d8b6ba --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results dcb8cdcb-8d6b-4045-8410-38f099d8b6ba
+
+Using task: dcb8cdcb-8d6b-4045-8410-38f099d8b6ba
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 58665},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 56995},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 53379}]
+================================================================================
+
+====> {"randread a 1024k": [56346, 3821]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:20:34 18076 >>>> Start rally with opts 'task start /tmp/fileOxVrH4 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileKBBGfp
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  034b6434-fbc1-47dc-bd48-def47e161d6d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:22:11 18431 >>>> Start io test
+10:22:11 18431 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+10:22:14 18432 >>>> Start io test
+10:22:14 18432 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+10:22:15 18433 >>>> Start io test
+10:22:15 18433 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+10:24:12 18433 >>>> Test finished
+10:24:14 18431 >>>> Test finished
+10:24:14 18432 >>>> Test finished
+2015-02-07 10:25:23.735 18076 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6ceeaa10-40ae-450b-855c-17389bb51a4c.
+
+--------------------------------------------------------------------------------
+Task 034b6434-fbc1-47dc-bd48-def47e161d6d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileKBBGfp',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.376     | 1.454     | 1.534     | 1.517         | 1.526         | 100.0%  | 3     |
+| nova.boot_server            | 62.108    | 62.702    | 63.355    | 63.213        | 63.284        | 100.0%  | 3     |
+| nova.delete_server          | 5.094     | 8.959     | 12.02     | 11.568        | 11.794        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.562     | 7.898     | 8.594     | 8.583         | 8.589         | 100.0%  | 3     |
+| total                       | 220.857   | 227.181   | 231.312   | 230.924       | 231.118       | 100.0%  | 3     |
+| vm.run_command              | 117.249   | 118.434   | 119.169   | 119.112       | 119.141       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.801     | 4.337     | 6.106     | 6.105         | 6.106         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 3.199     | 9.678     | 13.553    | 13.299        | 13.426        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 231.498284101
+Full duration: 287.271399021
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 034b6434-fbc1-47dc-bd48-def47e161d6d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 034b6434-fbc1-47dc-bd48-def47e161d6d
+
+Using task: 034b6434-fbc1-47dc-bd48-def47e161d6d
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79294},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 72368},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 74835}]
+================================================================================
+
+====> {"randread a 1024k": [75499, 4964]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:25:28 19456 >>>> Start rally with opts 'task start /tmp/fileAheymg --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileanemMg
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3fac716a-b693-47eb-a737-287e1e90700e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:27:11 19651 >>>> Start io test
+10:27:11 19651 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+10:27:17 19652 >>>> Start io test
+10:27:17 19652 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+10:27:17 19650 >>>> Start io test
+10:27:17 19650 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+10:29:03 19650 >>>> Test finished
+10:29:09 19652 >>>> Test finished
+10:29:09 19651 >>>> Test finished
+2015-02-07 10:29:58.537 19456 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 21d2992b-a234-41bc-8111-b058363dd88b.
+
+--------------------------------------------------------------------------------
+Task 3fac716a-b693-47eb-a737-287e1e90700e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileanemMg',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.496     | 1.662     | 1.861     | 1.814         | 1.838         | 100.0%  | 3     |
+| nova.boot_server            | 60.247    | 60.908    | 61.819    | 61.587        | 61.703        | 100.0%  | 3     |
+| nova.delete_server          | 5.184     | 5.687     | 6.117     | 6.046         | 6.081         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.795     | 7.085     | 7.232     | 7.231         | 7.232         | 100.0%  | 3     |
+| total                       | 216.268   | 218.852   | 223.203   | 221.979       | 222.591       | 100.0%  | 3     |
+| vm.run_command              | 106.387   | 110.223   | 112.424   | 112.311       | 112.367       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.878     | 5.698     | 6.111     | 6.11          | 6.11          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.89     | 16.824    | 20.706    | 20.14         | 20.423        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 223.260042906
+Full duration: 267.761112928
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3fac716a-b693-47eb-a737-287e1e90700e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3fac716a-b693-47eb-a737-287e1e90700e
+
+Using task: 3fac716a-b693-47eb-a737-287e1e90700e
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83830},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 71809},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 66977}]
+================================================================================
+
+====> {"randread a 1024k": [74205, 12272]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:30:02 20410 >>>> Start rally with opts 'task start /tmp/filekJIVn8 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileEhFgkv
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1033fdd4-cdaa-4743-add2-328662b36fd2: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:31:49 20611 >>>> Start io test
+10:31:49 20611 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+10:31:49 20610 >>>> Start io test
+10:31:49 20610 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+10:31:49 20612 >>>> Start io test
+10:31:49 20612 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+10:32:54 20610 >>>> Test finished
+10:32:55 20611 >>>> Test finished
+10:32:55 20612 >>>> Test finished
+2015-02-07 10:33:34.249 20410 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a78cdb2f-bcc1-4afd-8a5d-cdc45aeec6fd.
+
+--------------------------------------------------------------------------------
+Task 1033fdd4-cdaa-4743-add2-328662b36fd2: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileEhFgkv',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.205     | 4.144     | 6.404     | 6.088         | 6.246         | 100.0%  | 3     |
+| nova.boot_server            | 60.398    | 60.957    | 61.875    | 61.62         | 61.747        | 100.0%  | 3     |
+| nova.delete_server          | 5.202     | 8.546     | 12.869    | 11.809        | 12.339        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.74      | 3.446     | 6.65      | 5.71          | 6.18          | 100.0%  | 3     |
+| total                       | 153.455   | 160.414   | 166.752   | 165.608       | 166.18        | 100.0%  | 3     |
+| vm.run_command              | 64.587    | 65.082    | 65.533    | 65.452        | 65.492        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.948     | 2.375     | 4.09      | 3.689         | 3.889         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.445     | 8.827     | 9.63      | 9.585         | 9.608         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 166.937476873
+Full duration: 211.008993149
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1033fdd4-cdaa-4743-add2-328662b36fd2 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1033fdd4-cdaa-4743-add2-328662b36fd2
+
+Using task: 1033fdd4-cdaa-4743-add2-328662b36fd2
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 81808},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 78045},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86898}]
+================================================================================
+
+====> {"read a 1024k": [82250, 6283]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:33:41 21341 >>>> Start rally with opts 'task start /tmp/fileBVLQkL --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileoKFvBr
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f5b2617b-9ec2-4fdf-b33a-22dbc2671701: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:35:27 21550 >>>> Start io test
+10:35:27 21550 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+10:35:28 21551 >>>> Start io test
+10:35:28 21551 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+10:35:29 21549 >>>> Start io test
+10:35:29 21549 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+10:36:39 21549 >>>> Test finished
+10:36:39 21550 >>>> Test finished
+10:36:40 21551 >>>> Test finished
+2015-02-07 10:37:10.544 21341 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: af10e613-23c3-4b1b-a4a7-516c2c85a2e3.
+
+--------------------------------------------------------------------------------
+Task f5b2617b-9ec2-4fdf-b33a-22dbc2671701: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileoKFvBr',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 2.55      | 3.058     | 3.321     | 3.318         | 3.32          | 100.0%  | 3     |
+| nova.boot_server            | 64.443    | 66.572    | 67.878    | 67.782        | 67.83         | 100.0%  | 3     |
+| nova.delete_server          | 5.083     | 5.137     | 5.236     | 5.208         | 5.222         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.993     | 4.234     | 6.49      | 5.836         | 6.163         | 100.0%  | 3     |
+| total                       | 166.079   | 169.992   | 173.249   | 172.729       | 172.989       | 100.0%  | 3     |
+| vm.run_command              | 69.37     | 70.046    | 70.472    | 70.437        | 70.455        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.1       | 4.32      | 4.76      | 4.628         | 4.694         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.339     | 8.504     | 12.517    | 11.345        | 11.931        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 173.347657204
+Full duration: 206.050744057
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f5b2617b-9ec2-4fdf-b33a-22dbc2671701 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f5b2617b-9ec2-4fdf-b33a-22dbc2671701
+
+Using task: f5b2617b-9ec2-4fdf-b33a-22dbc2671701
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 62201},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57129},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 56537}]
+================================================================================
+
+====> {"read a 1024k": [58622, 4402]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:37:15 22338 >>>> Start rally with opts 'task start /tmp/filePc3X0Y --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileHgEUR8
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8fba1d11-8568-4c6e-85a5-900d79505ff1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:39:08 22537 >>>> Start io test
+10:39:08 22537 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+10:39:08 22535 >>>> Start io test
+10:39:08 22535 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+10:39:10 22536 >>>> Start io test
+10:39:10 22536 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+10:40:15 22537 >>>> Test finished
+10:40:16 22536 >>>> Test finished
+10:40:17 22535 >>>> Test finished
+2015-02-07 10:40:56.858 22338 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: bf336596-98a2-4792-b6b3-75017333a22d.
+
+--------------------------------------------------------------------------------
+Task 8fba1d11-8568-4c6e-85a5-900d79505ff1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileHgEUR8',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.347     | 1.826     | 2.716     | 2.456         | 2.586         | 100.0%  | 3     |
+| nova.boot_server            | 61.211    | 63.675    | 65.558    | 65.298        | 65.428        | 100.0%  | 3     |
+| nova.delete_server          | 5.096     | 7.477     | 9.821     | 9.36          | 9.59          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.8       | 5.315     | 7.313     | 7.217         | 7.265         | 100.0%  | 3     |
+| total                       | 157.111   | 163.38    | 167.352   | 167.017       | 167.185       | 100.0%  | 3     |
+| vm.run_command              | 65.006    | 65.449    | 66.239    | 66.011        | 66.125        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.102     | 4.455     | 4.758     | 4.708         | 4.733         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.83      | 9.723     | 12.602    | 11.829        | 12.216        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 167.42565918
+Full duration: 218.654707909
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8fba1d11-8568-4c6e-85a5-900d79505ff1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8fba1d11-8568-4c6e-85a5-900d79505ff1
+
+Using task: 8fba1d11-8568-4c6e-85a5-900d79505ff1
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 77576},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 72766},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 67142}]
+================================================================================
+
+====> {"read a 1024k": [72494, 7385]}
+
+================================================================================
diff --git a/results/results_perf_1_fio.txt b/results/results_perf_1_fio.txt
new file mode 100644
index 0000000..c7a1cc5
--- /dev/null
+++ b/results/results_perf_1_fio.txt
@@ -0,0 +1,2362 @@
++ set -e
++ type=fio
++ bsizes='1k 4k 64k 256k 1m'
++ ops='randwrite write'
++ osync='s a'
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:34:24 14925 >>>> Start rally with opts 'task start /tmp/fileRXRiP8 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileenEbrb
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  148cc5ba-5f0b-4a4a-b95d-6f99c623d4ba: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:36:37 15162 >>>> Start io test
+21:36:37 15162 >>>> Ready and waiting on barrier. Will wait at most 166 seconds
+21:36:39 15160 >>>> Start io test
+21:36:39 15160 >>>> Ready and waiting on barrier. Will wait at most 164 seconds
+21:36:44 15161 >>>> Start io test
+21:36:44 15161 >>>> Ready and waiting on barrier. Will wait at most 160 seconds
+21:37:13 15160 >>>> Test finished
+21:37:14 15161 >>>> Test finished
+21:37:14 15162 >>>> Test finished
+2015-02-07 21:37:44.198 14925 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 47c287b8-261c-4d19-9c92-ab79567c7224.
+
+--------------------------------------------------------------------------------
+Task 148cc5ba-5f0b-4a4a-b95d-6f99c623d4ba: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileenEbrb',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.584     | 4.905     | 6.581     | 6.575         | 6.578         | 100.0%  | 3     |
+| nova.boot_server            | 60.268    | 62.375    | 65.629    | 64.749        | 65.189        | 100.0%  | 3     |
+| nova.delete_server          | 5.078     | 6.705     | 7.566     | 7.547         | 7.556         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.612     | 1.76      | 1.872     | 1.857         | 1.865         | 100.0%  | 3     |
+| total                       | 131.741   | 132.466   | 133.549   | 133.261       | 133.405       | 100.0%  | 3     |
+| vm.run_command              | 29.638    | 30.31     | 30.971    | 30.841        | 30.906        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.081     | 1.416     | 2.085     | 2.084         | 2.084         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.021     | 10.63     | 11.98     | 11.761        | 11.87         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 133.605489969
+Full duration: 195.356240988
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 148cc5ba-5f0b-4a4a-b95d-6f99c623d4ba --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 148cc5ba-5f0b-4a4a-b95d-6f99c623d4ba
+
+Using task: 148cc5ba-5f0b-4a4a-b95d-6f99c623d4ba
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.55},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.69},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.2}]
+================================================================================
+
+====> {"randwrite s 1k": [20, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:37:47 15967 >>>> Start rally with opts 'task start /tmp/fileNuBx7g --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileOWN5ea
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7a8e2b2f-dfab-4cab-b34f-693092c03817: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:39:34 16175 >>>> Start io test
+21:39:34 16175 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+21:39:34 16177 >>>> Start io test
+21:39:34 16177 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+21:39:34 16176 >>>> Start io test
+21:39:34 16176 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+21:40:03 16177 >>>> Test finished
+21:40:03 16175 >>>> Test finished
+21:40:04 16176 >>>> Test finished
+2015-02-07 21:40:40.439 15967 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 61c38f2e-d949-471c-9624-d02c3bf112f5.
+
+--------------------------------------------------------------------------------
+Task 7a8e2b2f-dfab-4cab-b34f-693092c03817: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileOWN5ea',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.6       | 1.855     | 2.258     | 2.148         | 2.203         | 100.0%  | 3     |
+| nova.boot_server            | 61.114    | 61.937    | 62.993    | 62.736        | 62.864        | 100.0%  | 3     |
+| nova.delete_server          | 5.277     | 5.378     | 5.447     | 5.439         | 5.443         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.791     | 3.103     | 3.415     | 3.353         | 3.384         | 100.0%  | 3     |
+| total                       | 125.169   | 126.836   | 130.125   | 129.143       | 129.634       | 100.0%  | 3     |
+| vm.run_command              | 28.84     | 29.108    | 29.457    | 29.371        | 29.414        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.105     | 6.117     | 6.133     | 6.128         | 6.13          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.234    | 12.497    | 13.291    | 13.226        | 13.258        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 130.190545082
+Full duration: 169.814476013
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7a8e2b2f-dfab-4cab-b34f-693092c03817 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7a8e2b2f-dfab-4cab-b34f-693092c03817
+
+Using task: 7a8e2b2f-dfab-4cab-b34f-693092c03817
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22.12},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.88},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.43}]
+================================================================================
+
+====> {"randwrite s 1k": [21, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:40:44 17019 >>>> Start rally with opts 'task start /tmp/filezvOuYi --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file6x6Af0
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1c9c2044-d1a0-4419-8249-94bea0334a55: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:42:26 17250 >>>> Start io test
+21:42:26 17250 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+21:42:26 17251 >>>> Start io test
+21:42:26 17251 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+21:42:27 17249 >>>> Start io test
+21:42:27 17249 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+21:42:57 17250 >>>> Test finished
+21:42:57 17251 >>>> Test finished
+21:42:58 17249 >>>> Test finished
+2015-02-07 21:43:28.359 17019 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 90a519f2-d8eb-4795-bee6-d52fe7e7caef.
+
+--------------------------------------------------------------------------------
+Task 1c9c2044-d1a0-4419-8249-94bea0334a55: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file6x6Af0',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.346     | 1.538     | 1.694     | 1.67          | 1.682         | 100.0%  | 3     |
+| nova.boot_server            | 60.485    | 61.536    | 62.627    | 62.401        | 62.514        | 100.0%  | 3     |
+| nova.delete_server          | 5.506     | 6.81      | 7.503     | 7.487         | 7.495         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.543     | 1.696     | 1.907     | 1.853         | 1.88          | 100.0%  | 3     |
+| total                       | 126.116   | 127.101   | 127.711   | 127.664       | 127.687       | 100.0%  | 3     |
+| vm.run_command              | 30.124    | 30.43     | 30.665    | 30.632        | 30.649        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.976     | 7.733     | 8.112     | 8.111         | 8.112         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.581     | 10.612    | 13.424    | 13.105        | 13.264        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.770636797
+Full duration: 161.008528948
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1c9c2044-d1a0-4419-8249-94bea0334a55 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1c9c2044-d1a0-4419-8249-94bea0334a55
+
+Using task: 1c9c2044-d1a0-4419-8249-94bea0334a55
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.66},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.7},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.5}]
+================================================================================
+
+====> {"randwrite s 1k": [20, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:43:31 18113 >>>> Start rally with opts 'task start /tmp/fileNSPpFN --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file2DfAeB
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  39c0ffc2-9e0b-4722-bfff-28b1368aa4b0: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:45:18 18309 >>>> Start io test
+21:45:18 18309 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+21:45:20 18308 >>>> Start io test
+21:45:20 18308 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+21:45:21 18307 >>>> Start io test
+21:45:21 18307 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+21:45:49 18309 >>>> Test finished
+21:45:50 18308 >>>> Test finished
+21:45:50 18307 >>>> Test finished
+2015-02-07 21:46:16.141 18113 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8b433818-9647-465a-8ad7-d57ee4251332.
+
+--------------------------------------------------------------------------------
+Task 39c0ffc2-9e0b-4722-bfff-28b1368aa4b0: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file2DfAeB',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.353     | 1.421     | 1.458     | 1.457         | 1.458         | 100.0%  | 3     |
+| nova.boot_server            | 61.179    | 61.984    | 62.754    | 62.607        | 62.68         | 100.0%  | 3     |
+| nova.delete_server          | 5.123     | 5.164     | 5.243     | 5.22          | 5.231         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.583     | 1.693     | 1.778     | 1.766         | 1.772         | 100.0%  | 3     |
+| total                       | 120.317   | 120.813   | 121.148   | 121.113       | 121.131       | 100.0%  | 3     |
+| vm.run_command              | 28.628    | 29.123    | 29.417    | 29.399        | 29.408        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.344     | 4.183     | 6.105     | 6.104         | 6.104         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.168     | 9.043     | 12.147    | 11.28         | 11.714        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 121.280771017
+Full duration: 161.377776146
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 39c0ffc2-9e0b-4722-bfff-28b1368aa4b0 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 39c0ffc2-9e0b-4722-bfff-28b1368aa4b0
+
+Using task: 39c0ffc2-9e0b-4722-bfff-28b1368aa4b0
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22.2},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.62},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.4}]
+================================================================================
+
+====> {"write s 1k": [21, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:46:19 19114 >>>> Start rally with opts 'task start /tmp/fileLJVsXb --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filejTuSX5
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  03efcc72-0e69-4060-90fb-ebbe0ff0fb56: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:47:53 19310 >>>> Start io test
+21:47:53 19310 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+21:47:54 19309 >>>> Start io test
+21:47:54 19309 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+21:47:58 19308 >>>> Start io test
+21:47:58 19308 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+21:48:28 19309 >>>> Test finished
+21:48:28 19310 >>>> Test finished
+21:48:28 19308 >>>> Test finished
+2015-02-07 21:48:51.221 19114 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b10b32da-74f3-492d-8382-6b132b734395.
+
+--------------------------------------------------------------------------------
+Task 03efcc72-0e69-4060-90fb-ebbe0ff0fb56: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filejTuSX5',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.325     | 3.041     | 6.376     | 5.385         | 5.881         | 100.0%  | 3     |
+| nova.boot_server            | 60.303    | 61.096    | 62.368    | 62.018        | 62.193        | 100.0%  | 3     |
+| nova.delete_server          | 5.164     | 6.7       | 7.52      | 7.499         | 7.509         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.627     | 1.735     | 1.857     | 1.83          | 1.844         | 100.0%  | 3     |
+| total                       | 122.116   | 123.485   | 124.399   | 124.307       | 124.353       | 100.0%  | 3     |
+| vm.run_command              | 30.115    | 30.418    | 30.596    | 30.585        | 30.59         | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.08      | 5.429     | 8.107     | 7.706         | 7.906         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.654     | 6.726     | 7.736     | 7.546         | 7.641         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.490378141
+Full duration: 148.764094114
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 03efcc72-0e69-4060-90fb-ebbe0ff0fb56 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 03efcc72-0e69-4060-90fb-ebbe0ff0fb56
+
+Using task: 03efcc72-0e69-4060-90fb-ebbe0ff0fb56
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.91},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.34},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20.34}]
+================================================================================
+
+====> {"write s 1k": [20, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:48:54 20081 >>>> Start rally with opts 'task start /tmp/filee8bxe1 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileZyCiAt
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  adfc2762-ca15-48bd-a1e9-c72498fbeed3: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:50:39 20304 >>>> Start io test
+21:50:39 20304 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+21:50:44 20303 >>>> Start io test
+21:50:44 20303 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+21:50:47 20302 >>>> Start io test
+21:50:47 20302 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+21:51:16 20304 >>>> Test finished
+21:51:16 20303 >>>> Test finished
+21:51:16 20302 >>>> Test finished
+2015-02-07 21:51:46.170 20081 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6c0a80b0-2756-43b7-b6cc-a9951931ffba.
+
+--------------------------------------------------------------------------------
+Task adfc2762-ca15-48bd-a1e9-c72498fbeed3: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileZyCiAt',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.287     | 1.387     | 1.459     | 1.45          | 1.454         | 100.0%  | 3     |
+| nova.boot_server            | 64.106    | 64.875    | 65.433    | 65.363        | 65.398        | 100.0%  | 3     |
+| nova.delete_server          | 5.124     | 5.199     | 5.342     | 5.3           | 5.321         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.617     | 1.665     | 1.746     | 1.724         | 1.735         | 100.0%  | 3     |
+| total                       | 128.415   | 130.096   | 133.247   | 132.323       | 132.785       | 100.0%  | 3     |
+| vm.run_command              | 28.912    | 29.278    | 29.559    | 29.52         | 29.54         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.097     | 6.771     | 8.115     | 7.713         | 7.914         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.145     | 11.266    | 13.258    | 13.086        | 13.172        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 133.315052986
+Full duration: 168.517599106
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report adfc2762-ca15-48bd-a1e9-c72498fbeed3 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results adfc2762-ca15-48bd-a1e9-c72498fbeed3
+
+Using task: adfc2762-ca15-48bd-a1e9-c72498fbeed3
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22.1},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.56},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21.37}]
+================================================================================
+
+====> {"write s 1k": [21, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:51:49 21098 >>>> Start rally with opts 'task start /tmp/filezqfQmM --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJhvZj5
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f4ad83d1-396c-4d7d-a44d-9e1a3218f33d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:53:25 21302 >>>> Start io test
+21:53:25 21302 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+21:53:28 21304 >>>> Start io test
+21:53:28 21304 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+21:53:31 21303 >>>> Start io test
+21:53:31 21303 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+21:54:00 21303 >>>> Test finished
+21:54:02 21302 >>>> Test finished
+21:54:03 21304 >>>> Test finished
+2015-02-07 21:54:33.275 21098 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: fcd6bf06-9d26-44d9-9faa-f569337244f4.
+
+--------------------------------------------------------------------------------
+Task f4ad83d1-396c-4d7d-a44d-9e1a3218f33d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJhvZj5',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.348     | 1.432     | 1.494     | 1.485         | 1.489         | 100.0%  | 3     |
+| nova.boot_server            | 60.141    | 62.013    | 63.201    | 63.1          | 63.151        | 100.0%  | 3     |
+| nova.delete_server          | 5.09      | 6.723     | 9.851     | 8.926         | 9.389         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.725     | 2.078     | 2.71      | 2.528         | 2.619         | 100.0%  | 3     |
+| total                       | 126.034   | 128.812   | 131.107   | 130.745       | 130.926       | 100.0%  | 3     |
+| vm.run_command              | 28.903    | 30.522    | 31.386    | 31.365        | 31.376        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.636     | 7.199     | 8.113     | 7.86          | 7.986         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.663     | 10.491    | 12.91     | 12.708        | 12.809        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 131.198403835
+Full duration: 160.628458023
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f4ad83d1-396c-4d7d-a44d-9e1a3218f33d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f4ad83d1-396c-4d7d-a44d-9e1a3218f33d
+
+Using task: f4ad83d1-396c-4d7d-a44d-9e1a3218f33d
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90.78},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80.44},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80.71}]
+================================================================================
+
+====> {"randwrite s 4k": [83, 8]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:54:37 22134 >>>> Start rally with opts 'task start /tmp/filea3Ti7j --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileyvll9K
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5d90cf9e-7c63-4ec7-9ffa-2fcb697528a9: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:56:14 22374 >>>> Start io test
+21:56:14 22374 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+21:56:15 22375 >>>> Start io test
+21:56:15 22375 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+21:56:15 22373 >>>> Start io test
+21:56:15 22373 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+21:56:47 22374 >>>> Test finished
+21:56:48 22375 >>>> Test finished
+21:56:48 22373 >>>> Test finished
+2015-02-07 21:57:14.628 22134 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 67d87616-5e15-4e53-976f-7fd6d8960294.
+
+--------------------------------------------------------------------------------
+Task 5d90cf9e-7c63-4ec7-9ffa-2fcb697528a9: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileyvll9K',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.397     | 1.455     | 1.559     | 1.529         | 1.544         | 100.0%  | 3     |
+| nova.boot_server            | 61.929    | 62.8      | 63.25     | 63.244        | 63.247        | 100.0%  | 3     |
+| nova.delete_server          | 5.128     | 5.163     | 5.232     | 5.211         | 5.222         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.614     | 1.776     | 1.895     | 1.88          | 1.887         | 100.0%  | 3     |
+| total                       | 122.679   | 125.554   | 129.486   | 128.488       | 128.987       | 100.0%  | 3     |
+| vm.run_command              | 31.833    | 32.761    | 33.255    | 33.243        | 33.249        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.687     | 6.149     | 6.663     | 6.55          | 6.607         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.36      | 9.178     | 9.752     | 9.686         | 9.719         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.561312914
+Full duration: 154.749316931
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5d90cf9e-7c63-4ec7-9ffa-2fcb697528a9 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5d90cf9e-7c63-4ec7-9ffa-2fcb697528a9
+
+Using task: 5d90cf9e-7c63-4ec7-9ffa-2fcb697528a9
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79.71},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 75.86},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 75.12}]
+================================================================================
+
+====> {"randwrite s 4k": [76, 3]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:57:18 23207 >>>> Start rally with opts 'task start /tmp/fileqKZdxt --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file1lVxNe
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a291773f-140b-4847-a031-f60e4240189a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:58:50 23403 >>>> Start io test
+21:58:50 23403 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+21:58:53 23401 >>>> Start io test
+21:58:53 23401 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+21:58:55 23402 >>>> Start io test
+21:58:55 23402 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+21:59:26 23403 >>>> Test finished
+21:59:26 23402 >>>> Test finished
+21:59:26 23401 >>>> Test finished
+2015-02-07 21:59:48.916 23207 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 37ca6b35-ffd3-4108-b5c5-0fbad9bdf415.
+
+--------------------------------------------------------------------------------
+Task a291773f-140b-4847-a031-f60e4240189a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file1lVxNe',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.422     | 1.471     | 1.538     | 1.521         | 1.53          | 100.0%  | 3     |
+| nova.boot_server            | 58.844    | 59.495    | 59.883    | 59.858        | 59.871        | 100.0%  | 3     |
+| nova.delete_server          | 5.126     | 6.662     | 7.453     | 7.444         | 7.448         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.582     | 1.609     | 1.654     | 1.641         | 1.648         | 100.0%  | 3     |
+| total                       | 120.985   | 122.348   | 123.153   | 123.104       | 123.128       | 100.0%  | 3     |
+| vm.run_command              | 30.683    | 31.013    | 31.282    | 31.24         | 31.261        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.995     | 7.229     | 9.098     | 8.597         | 8.848         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.087     | 6.702     | 7.639     | 7.587         | 7.613         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 123.231041908
+Full duration: 147.78234601
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a291773f-140b-4847-a031-f60e4240189a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a291773f-140b-4847-a031-f60e4240189a
+
+Using task: a291773f-140b-4847-a031-f60e4240189a
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83.16},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 81.91},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 82.18}]
+================================================================================
+
+====> {"randwrite s 4k": [82, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+21:59:52 24193 >>>> Start rally with opts 'task start /tmp/filecbsdni --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileHx25QD
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6b8aded0-4a66-44d2-89b9-14e5880bd493: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:01:23 24396 >>>> Start io test
+22:01:23 24396 >>>> Ready and waiting on barrier. Will wait at most 209 seconds
+22:01:28 24398 >>>> Start io test
+22:01:28 24398 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+22:01:32 24397 >>>> Start io test
+22:01:32 24397 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+22:02:01 24397 >>>> Test finished
+22:02:01 24398 >>>> Test finished
+22:02:01 24396 >>>> Test finished
+2015-02-07 22:02:24.225 24193 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6326d451-235b-442f-882f-559631576026.
+
+--------------------------------------------------------------------------------
+Task 6b8aded0-4a66-44d2-89b9-14e5880bd493: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileHx25QD',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.428     | 3.253     | 6.9       | 5.806         | 6.353         | 100.0%  | 3     |
+| nova.boot_server            | 58.598    | 59.539    | 61.361    | 60.82         | 61.091        | 100.0%  | 3     |
+| nova.delete_server          | 7.437     | 7.514     | 7.555     | 7.554         | 7.554         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.562     | 1.67      | 1.757     | 1.744         | 1.75          | 100.0%  | 3     |
+| total                       | 123.538   | 123.598   | 123.683   | 123.661       | 123.672       | 100.0%  | 3     |
+| vm.run_command              | 28.983    | 29.164    | 29.432    | 29.361        | 29.397        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.079     | 5.428     | 8.106     | 8.104         | 8.105         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 4.363     | 6.376     | 8.081     | 7.801         | 7.941         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 123.749119043
+Full duration: 148.911594868
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6b8aded0-4a66-44d2-89b9-14e5880bd493 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6b8aded0-4a66-44d2-89b9-14e5880bd493
+
+Using task: 6b8aded0-4a66-44d2-89b9-14e5880bd493
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89.55},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89.0},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86.4}]
+================================================================================
+
+====> {"write s 4k": [88, 2]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+22:02:28 25231 >>>> Start rally with opts 'task start /tmp/filevN2peB --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileK5fUhu
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fcf2c87c-e4cb-4753-9367-741f6a40f453: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:04:06 25428 >>>> Start io test
+22:04:06 25428 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+22:04:13 25427 >>>> Start io test
+22:04:13 25427 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+22:04:16 25426 >>>> Start io test
+22:04:16 25426 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+22:04:44 25428 >>>> Test finished
+22:04:45 25426 >>>> Test finished
+22:04:45 25427 >>>> Test finished
+2015-02-07 22:05:07.756 25231 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e4ae6dae-559a-475a-9822-6a746d2013a0.
+
+--------------------------------------------------------------------------------
+Task fcf2c87c-e4cb-4753-9367-741f6a40f453: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileK5fUhu',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.278     | 1.392     | 1.482     | 1.469         | 1.476         | 100.0%  | 3     |
+| nova.boot_server            | 59.484    | 64.042    | 66.998    | 66.727        | 66.863        | 100.0%  | 3     |
+| nova.delete_server          | 5.109     | 5.872     | 7.377     | 6.928         | 7.153         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.673     | 1.723     | 1.806     | 1.783         | 1.795         | 100.0%  | 3     |
+| total                       | 123.674   | 125.184   | 127.252   | 126.727       | 126.989       | 100.0%  | 3     |
+| vm.run_command              | 27.798    | 28.471    | 28.928    | 28.88         | 28.904        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.448     | 5.554     | 8.112     | 8.11          | 8.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 3.3       | 4.476     | 5.466     | 5.305         | 5.386         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.369131804
+Full duration: 157.072092056
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fcf2c87c-e4cb-4753-9367-741f6a40f453 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fcf2c87c-e4cb-4753-9367-741f6a40f453
+
+Using task: fcf2c87c-e4cb-4753-9367-741f6a40f453
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93.62},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89.98},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89.29}]
+================================================================================
+
+====> {"write s 4k": [90, 3]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+22:05:11 26501 >>>> Start rally with opts 'task start /tmp/fileJTZAx5 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileQAmihe
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  b2e0f947-ce82-482c-b1bd-90455b06559a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:06:48 26700 >>>> Start io test
+22:06:48 26700 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+22:06:53 26701 >>>> Start io test
+22:06:53 26701 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+22:06:59 26699 >>>> Start io test
+22:06:59 26699 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+22:07:28 26699 >>>> Test finished
+22:07:29 26701 >>>> Test finished
+22:07:29 26700 >>>> Test finished
+2015-02-07 22:07:59.194 26501 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 05c12da7-67e2-46c8-8de3-264c99d4ae89.
+
+--------------------------------------------------------------------------------
+Task b2e0f947-ce82-482c-b1bd-90455b06559a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileQAmihe',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.444     | 1.514     | 1.652     | 1.611         | 1.632         | 100.0%  | 3     |
+| nova.boot_server            | 57.82     | 59.819    | 63.75     | 62.577        | 63.164        | 100.0%  | 3     |
+| nova.delete_server          | 5.107     | 5.255     | 5.343     | 5.337         | 5.34          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.453     | 4.875     | 6.651     | 6.625         | 6.638         | 100.0%  | 3     |
+| total                       | 123.763   | 127.431   | 129.546   | 129.433       | 129.49        | 100.0%  | 3     |
+| vm.run_command              | 29.235    | 29.502    | 29.678    | 29.661        | 29.669        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.835     | 6.553     | 8.102     | 7.826         | 7.964         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.77      | 8.315     | 10.379    | 9.863         | 10.121        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.657002926
+Full duration: 164.16723609
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report b2e0f947-ce82-482c-b1bd-90455b06559a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results b2e0f947-ce82-482c-b1bd-90455b06559a
+
+Using task: b2e0f947-ce82-482c-b1bd-90455b06559a
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88.71},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87.36},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86.23}]
+================================================================================
+
+====> {"write s 4k": [87, 1]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+22:08:03 27575 >>>> Start rally with opts 'task start /tmp/fileRsLPFP --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileqpP4uW
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c2e473b7-f730-4e4f-8ad4-411b9d478f95: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:09:38 27784 >>>> Start io test
+22:09:38 27784 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+22:09:40 27783 >>>> Start io test
+22:09:40 27783 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+22:09:42 27782 >>>> Start io test
+22:09:42 27782 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+22:10:16 27782 >>>> Test finished
+22:10:17 27783 >>>> Test finished
+22:10:17 27784 >>>> Test finished
+2015-02-07 22:10:41.489 27575 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c8b587d4-1acb-4a8f-96ae-235896dfe2e8.
+
+--------------------------------------------------------------------------------
+Task c2e473b7-f730-4e4f-8ad4-411b9d478f95: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileqpP4uW',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.361     | 1.4       | 1.433     | 1.428         | 1.431         | 100.0%  | 3     |
+| nova.boot_server            | 60.982    | 61.411    | 61.667    | 61.651        | 61.659        | 100.0%  | 3     |
+| nova.delete_server          | 5.111     | 5.133     | 5.161     | 5.155         | 5.158         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.731     | 1.874     | 2.054     | 2.011         | 2.032         | 100.0%  | 3     |
+| total                       | 126.612   | 128.239   | 130.904   | 130.163       | 130.533       | 100.0%  | 3     |
+| vm.run_command              | 34.526    | 35.153    | 35.622    | 35.56         | 35.591        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.092     | 6.995     | 8.093     | 7.834         | 7.964         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.562     | 8.941     | 11.746    | 11.1          | 11.423        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 130.955790043
+Full duration: 155.643642902
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c2e473b7-f730-4e4f-8ad4-411b9d478f95 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c2e473b7-f730-4e4f-8ad4-411b9d478f95
+
+Using task: c2e473b7-f730-4e4f-8ad4-411b9d478f95
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1163.82},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1126.15},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1120.1}]
+================================================================================
+
+====> {"randwrite s 64k": [1136, 33]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+22:10:45 28118 >>>> Start rally with opts 'task start /tmp/filen4esUU --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileP2Tlrk
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6f15dedd-2e9c-42db-9236-bb117e849f2c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:12:19 28460 >>>> Start io test
+22:12:19 28460 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+22:12:21 28461 >>>> Start io test
+22:12:21 28461 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+22:12:25 28459 >>>> Start io test
+22:12:25 28459 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+22:12:59 28461 >>>> Test finished
+22:13:00 28460 >>>> Test finished
+22:13:01 28459 >>>> Test finished
+2015-02-07 22:13:30.910 28118 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 3ec7f651-66d5-4429-a3c0-dc583555f218.
+
+--------------------------------------------------------------------------------
+Task 6f15dedd-2e9c-42db-9236-bb117e849f2c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileP2Tlrk',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.307     | 1.371     | 1.443     | 1.427         | 1.435         | 100.0%  | 3     |
+| nova.boot_server            | 60.056    | 60.57     | 60.842    | 60.836        | 60.839        | 100.0%  | 3     |
+| nova.delete_server          | 5.11      | 5.134     | 5.166     | 5.158         | 5.162         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.449     | 1.585     | 1.654     | 1.653         | 1.653         | 100.0%  | 3     |
+| total                       | 126.223   | 127.298   | 127.854   | 127.847       | 127.85        | 100.0%  | 3     |
+| vm.run_command              | 34.158    | 35.099    | 35.611    | 35.595        | 35.603        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.077     | 6.093     | 8.102     | 8.102         | 8.102         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.501     | 7.606     | 10.72     | 9.896         | 10.308        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.948389053
+Full duration: 162.983976126
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6f15dedd-2e9c-42db-9236-bb117e849f2c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6f15dedd-2e9c-42db-9236-bb117e849f2c
+
+Using task: 6f15dedd-2e9c-42db-9236-bb117e849f2c
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1175.2},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1125.57},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1114.38}]
+================================================================================
+
+====> {"randwrite s 64k": [1138, 45]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+22:13:35 29168 >>>> Start rally with opts 'task start /tmp/file0tKrLn --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileSD4MYP
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a63d7a9c-ef1b-485a-b642-6f56ea7311a4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:15:15 29362 >>>> Start io test
+22:15:15 29362 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+22:15:16 29363 >>>> Start io test
+22:15:16 29363 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+22:15:17 29364 >>>> Start io test
+22:15:17 29364 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+22:15:50 29364 >>>> Test finished
+22:15:51 29363 >>>> Test finished
+22:15:51 29362 >>>> Test finished
+2015-02-07 22:16:18.374 29168 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 7ad3f47a-c948-4890-bc48-7b9a28abe547.
+
+--------------------------------------------------------------------------------
+Task a63d7a9c-ef1b-485a-b642-6f56ea7311a4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileSD4MYP',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.325     | 1.42      | 1.521     | 1.499         | 1.51          | 100.0%  | 3     |
+| nova.boot_server            | 58.965    | 60.17     | 62.057    | 61.543        | 61.8          | 100.0%  | 3     |
+| nova.delete_server          | 5.141     | 8.189     | 12.004    | 11.087        | 11.546        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.659     | 1.723     | 1.824     | 1.797         | 1.81          | 100.0%  | 3     |
+| total                       | 128.999   | 131.821   | 135.693   | 134.709       | 135.201       | 100.0%  | 3     |
+| vm.run_command              | 33.312    | 33.489    | 33.674    | 33.635        | 33.655        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.083     | 3.421     | 6.089     | 5.289         | 5.689         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.794    | 12.546    | 12.967    | 12.95         | 12.958        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 135.771391153
+Full duration: 160.759938002
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a63d7a9c-ef1b-485a-b642-6f56ea7311a4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a63d7a9c-ef1b-485a-b642-6f56ea7311a4
+
+Using task: a63d7a9c-ef1b-485a-b642-6f56ea7311a4
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1226.79},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1216.46},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1219.63}]
+================================================================================
+
+====> {"randwrite s 64k": [1220, 7]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+22:16:22 30168 >>>> Start rally with opts 'task start /tmp/file8RgfY8 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileW9h3HI
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5ecdac84-0c2d-42a6-84aa-faa0f300af04: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:17:57 30367 >>>> Start io test
+22:17:57 30367 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+22:17:58 30365 >>>> Start io test
+22:17:58 30365 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+22:18:02 30366 >>>> Start io test
+22:18:02 30366 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+23:18:03 30365 >>>> Rally raises exception Timeout executing command '/usr/bin/env python2' on host 172.16.53.28
+23:18:03 30367 >>>> Rally raises exception Timeout executing command '/usr/bin/env python2' on host 172.16.53.29
+23:18:03 30366 >>>> Rally raises exception Timeout executing command '/usr/bin/env python2' on host 172.16.53.18
+2015-02-07 23:18:31.908 30168 WARNING rally.benchmark.context.network [-] Failed to delete network for tenant 800e3453ded44b83a298d3804b6d02c1
+2015-02-07 23:18:32.082 30168 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e8925338-a500-4970-bb5f-2330fbaa1898.
+
+--------------------------------------------------------------------------------
+Task 5ecdac84-0c2d-42a6-84aa-faa0f300af04: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileW9h3HI',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| total  | n/a       | n/a       | n/a       | n/a           | n/a           | 0.0%    | 3     |
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 3688.38960791
+Full duration: 3726.83458996
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5ecdac84-0c2d-42a6-84aa-faa0f300af04 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5ecdac84-0c2d-42a6-84aa-faa0f300af04
+
+Using task: 5ecdac84-0c2d-42a6-84aa-faa0f300af04
+================================================================================
+[]
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+23:18:35 32204 >>>> Start rally with opts 'task start /tmp/filevGZRli --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedNXXrI
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  958e8d94-b57b-4eed-b33a-9b09627e044d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+23:20:38 32428 >>>> Start io test
+23:20:38 32428 >>>> Ready and waiting on barrier. Will wait at most 177 seconds
+23:20:38 32427 >>>> Start io test
+23:20:38 32427 >>>> Ready and waiting on barrier. Will wait at most 177 seconds
+23:23:35 32428 >>>> Barrier timeouted
+23:23:35 32427 >>>> Barrier timeouted
++ set -e
++ type=fio
++ bsizes='1k 4k 64k 256k 1m'
++ ops='randwrite write'
++ osync=a
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario fio '--rally-extra-opts=--deployment perf-1'
+00:30:54 3105 >>>> Start rally with opts 'task start /tmp/fileuDkmzK --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filerodyxK
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  de8ee05c-fed7-45e5-87f2-8ff73b9ca852: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+00:33:14 3538 >>>> Start io test
+00:33:14 3538 >>>> Ready and waiting on barrier. Will wait at most 159 seconds
+00:33:17 3537 >>>> Start io test
+00:33:17 3537 >>>> Ready and waiting on barrier. Will wait at most 157 seconds
+00:33:20 3539 >>>> Start io test
+00:33:20 3539 >>>> Ready and waiting on barrier. Will wait at most 154 seconds
+run.sh: line 15:  3105 Terminated              python run_rally_test.py -l -o "$io_opts" -t io-scenario $type --rally-extra-opts="--deployment $1"
diff --git a/results/results_perf_2.txt b/results/results_perf_2.txt
new file mode 100644
index 0000000..41605fa
--- /dev/null
+++ b/results/results_perf_2.txt
@@ -0,0 +1,8463 @@
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filefBuljE
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  9369cf1f-6845-4998-a355-d52863deec9c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 9369cf1f-6845-4998-a355-d52863deec9c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filefBuljE',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.24      | 1.335     | 1.515     | 1.462         | 1.488         | 100.0%  | 3     |
+| nova.boot_server            | 51.268    | 54.705    | 57.685    | 57.181        | 57.433        | 100.0%  | 3     |
+| nova.delete_server          | 3.019     | 4.538     | 7.513     | 6.627         | 7.07          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.394     | 1.467     | 1.575     | 1.546         | 1.561         | 100.0%  | 3     |
+| total                       | 138.14    | 156.442   | 168.262   | 167.195       | 167.728       | 100.0%  | 3     |
+| vm.run_command              | 39.519    | 56.227    | 64.91     | 64.779        | 64.844        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.095     | 6.768     | 8.109     | 7.707         | 7.908         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.192    | 22.088    | 28.336    | 27.216        | 27.776        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 168.354516983
+Full duration: 223.63551712
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 9369cf1f-6845-4998-a355-d52863deec9c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 9369cf1f-6845-4998-a355-d52863deec9c
+
+Using task: 9369cf1f-6845-4998-a355-d52863deec9c
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8}]
+================================================================================
+
+====> {"randwrite s 1k": [10, 5]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedBHy3t
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6d559316-6c98-4917-91da-b8c6717f0fa6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 6d559316-6c98-4917-91da-b8c6717f0fa6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedBHy3t',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.135     | 1.228     | 1.306     | 1.293         | 1.3           | 100.0%  | 3     |
+| nova.boot_server            | 13.594    | 25.099    | 42.898    | 38.08         | 40.489        | 100.0%  | 3     |
+| nova.delete_server          | 2.849     | 2.857     | 2.868     | 2.865         | 2.866         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.432     | 1.571     | 1.763     | 1.714         | 1.739         | 100.0%  | 3     |
+| total                       | 108.703   | 110.175   | 111.157   | 111.059       | 111.108       | 100.0%  | 3     |
+| vm.run_command              | 37.563    | 39.036    | 39.899    | 39.848        | 39.873        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.092     | 6.095     | 6.099     | 6.098         | 6.099         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.919    | 13.268    | 15.751    | 15.028        | 15.389        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 111.236711979
+Full duration: 143.748189926
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6d559316-6c98-4917-91da-b8c6717f0fa6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6d559316-6c98-4917-91da-b8c6717f0fa6
+
+Using task: 6d559316-6c98-4917-91da-b8c6717f0fa6
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15}]
+================================================================================
+
+====> {"randwrite s 1k": [15, 0]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileP04slz
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  35533c6c-8a92-4071-9b57-9cbf30be780c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 35533c6c-8a92-4071-9b57-9cbf30be780c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileP04slz',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.191     | 1.249     | 1.312     | 1.299         | 1.305         | 100.0%  | 3     |
+| nova.boot_server            | 13.866    | 15.846    | 19.45     | 18.404        | 18.927        | 100.0%  | 3     |
+| nova.delete_server          | 2.807     | 3.586     | 5.071     | 4.632         | 4.851         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.387     | 1.711     | 1.881     | 1.878         | 1.879         | 100.0%  | 3     |
+| total                       | 94.154    | 106.926   | 114.552   | 114.056       | 114.304       | 100.0%  | 3     |
+| vm.run_command              | 38.348    | 50.016    | 55.967    | 55.92         | 55.943        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.382     | 5.481     | 7.971     | 7.595         | 7.783         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.033    | 15.784    | 20.592    | 19.619        | 20.105        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 114.640114069
+Full duration: 139.624799013
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 35533c6c-8a92-4071-9b57-9cbf30be780c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 35533c6c-8a92-4071-9b57-9cbf30be780c
+
+Using task: 35533c6c-8a92-4071-9b57-9cbf30be780c
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10}]
+================================================================================
+
+====> {"randwrite s 1k": [11, 4]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filexyfL1B
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8edba1c0-b756-4aa6-933f-10eb951d32e3: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 8edba1c0-b756-4aa6-933f-10eb951d32e3: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filexyfL1B',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.172     | 1.225     | 1.284     | 1.271         | 1.278         | 100.0%  | 3     |
+| nova.boot_server            | 12.171    | 14.298    | 17.266    | 16.504        | 16.885        | 100.0%  | 3     |
+| nova.delete_server          | 2.798     | 2.939     | 3.031     | 3.022         | 3.026         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.293     | 1.448     | 1.68      | 1.619         | 1.649         | 100.0%  | 3     |
+| total                       | 79.291    | 101.213   | 112.375   | 112.295       | 112.335       | 100.0%  | 3     |
+| vm.run_command              | 26.845    | 48.855    | 60.131    | 60.023        | 60.077        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.097     | 6.775     | 8.127     | 7.722         | 7.924         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.614    | 14.315    | 16.159    | 15.961        | 16.06         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 112.526942015
+Full duration: 151.714229107
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8edba1c0-b756-4aa6-933f-10eb951d32e3 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8edba1c0-b756-4aa6-933f-10eb951d32e3
+
+Using task: 8edba1c0-b756-4aa6-933f-10eb951d32e3
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9}]
+================================================================================
+
+====> {"write s 1k": [14, 13]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filednXKUB
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2a11d911-94cd-427f-a5fc-8394b6c55648: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 2a11d911-94cd-427f-a5fc-8394b6c55648: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filednXKUB',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.24      | 1.285     | 1.331     | 1.322         | 1.327         | 100.0%  | 3     |
+| nova.boot_server            | 12.609    | 15.146    | 18.586    | 17.717        | 18.152        | 100.0%  | 3     |
+| nova.delete_server          | 2.803     | 2.859     | 2.923     | 2.909         | 2.916         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.372     | 1.504     | 1.638     | 1.611         | 1.625         | 100.0%  | 3     |
+| total                       | 81.814    | 103.091   | 113.956   | 113.866       | 113.911       | 100.0%  | 3     |
+| vm.run_command              | 26.063    | 47.288    | 58.166    | 58.059        | 58.113        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.093     | 6.772     | 8.117     | 7.715         | 7.916         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.556    | 18.609    | 20.376    | 20.28         | 20.328        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 114.038125992
+Full duration: 142.399247885
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2a11d911-94cd-427f-a5fc-8394b6c55648 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2a11d911-94cd-427f-a5fc-8394b6c55648
+
+Using task: 2a11d911-94cd-427f-a5fc-8394b6c55648
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10}]
+================================================================================
+
+====> {"write s 1k": [15, 13]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filec2Wrwg
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a69aa0a8-ecb9-4c22-ba61-11ea879267b7: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task a69aa0a8-ecb9-4c22-ba61-11ea879267b7: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filec2Wrwg',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.268     | 1.879     | 2.956     | 2.648         | 2.802         | 100.0%  | 3     |
+| nova.boot_server            | 12.417    | 15.113    | 18.775    | 17.849        | 18.312        | 100.0%  | 3     |
+| nova.delete_server          | 2.884     | 2.916     | 2.948     | 2.941         | 2.944         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.244     | 3.02      | 6.404     | 5.406         | 5.905         | 100.0%  | 3     |
+| total                       | 98.989    | 102.931   | 105.089   | 105.014       | 105.051       | 100.0%  | 3     |
+| vm.run_command              | 38.929    | 46.282    | 50.053    | 50.015        | 50.034        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.099     | 5.434     | 6.101     | 6.101         | 6.101         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.718    | 17.897    | 20.284    | 19.765        | 20.025        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 105.222084999
+Full duration: 128.580744982
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a69aa0a8-ecb9-4c22-ba61-11ea879267b7 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a69aa0a8-ecb9-4c22-ba61-11ea879267b7
+
+Using task: a69aa0a8-ecb9-4c22-ba61-11ea879267b7
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11}]
+================================================================================
+
+====> {"write s 1k": [12, 3]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileVyUeFZ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d425a419-3f97-4c67-9213-4db71094bb8a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task d425a419-3f97-4c67-9213-4db71094bb8a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileVyUeFZ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.307     | 1.411     | 1.553     | 1.517         | 1.535         | 100.0%  | 3     |
+| nova.boot_server            | 12.514    | 13.02     | 14.015    | 13.718        | 13.867        | 100.0%  | 3     |
+| nova.delete_server          | 2.873     | 2.897     | 2.915     | 2.912         | 2.914         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.343     | 1.435     | 1.59      | 1.546         | 1.568         | 100.0%  | 3     |
+| total                       | 70.18     | 70.231    | 70.266    | 70.263        | 70.264        | 100.0%  | 3     |
+| vm.run_command              | 26.76     | 26.965    | 27.165    | 27.126        | 27.145        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.109     | 6.639     | 6.984     | 6.952         | 6.968         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.858     | 12.227    | 13.421    | 13.417        | 13.419        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 70.3800230026
+Full duration: 94.6684470177
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d425a419-3f97-4c67-9213-4db71094bb8a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d425a419-3f97-4c67-9213-4db71094bb8a
+
+Using task: d425a419-3f97-4c67-9213-4db71094bb8a
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 100},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 98},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 97}]
+================================================================================
+
+====> {"randwrite s 4k": [98, 2]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileSn3xQf
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  b871d656-aa7b-4508-b913-ee8897c1c9f2: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task b871d656-aa7b-4508-b913-ee8897c1c9f2: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileSn3xQf',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.141     | 1.218     | 1.332     | 1.302         | 1.317         | 100.0%  | 3     |
+| nova.boot_server            | 14.375    | 15.609    | 18.015    | 17.299        | 17.657        | 100.0%  | 3     |
+| nova.delete_server          | 2.816     | 3.638     | 5.123     | 4.694         | 4.909         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.387     | 1.42      | 1.462     | 1.452         | 1.457         | 100.0%  | 3     |
+| total                       | 92.604    | 105.75    | 113.466   | 113.009       | 113.238       | 100.0%  | 3     |
+| vm.run_command              | 38.774    | 51.159    | 57.454    | 57.414        | 57.434        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.107     | 6.779     | 8.12      | 7.718         | 7.919         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.968    | 14.862    | 19.236    | 18.266        | 18.751        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 113.566144943
+Full duration: 144.713588953
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report b871d656-aa7b-4508-b913-ee8897c1c9f2 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results b871d656-aa7b-4508-b913-ee8897c1c9f2
+
+Using task: b871d656-aa7b-4508-b913-ee8897c1c9f2
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 62},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 39},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 40}]
+================================================================================
+
+====> {"randwrite s 4k": [47, 18]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filetkAXZ1
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  942b0b36-c26c-46aa-9260-70983ca2293e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 942b0b36-c26c-46aa-9260-70983ca2293e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filetkAXZ1',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.16      | 1.262     | 1.336     | 1.327         | 1.332         | 100.0%  | 3     |
+| nova.boot_server            | 14.206    | 18.784    | 24.268    | 22.99         | 23.629        | 100.0%  | 3     |
+| nova.delete_server          | 2.804     | 2.901     | 3.032     | 2.999         | 3.016         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.318     | 3.043     | 6.489     | 5.455         | 5.972         | 100.0%  | 3     |
+| total                       | 103.248   | 117.041   | 124.391   | 124.209       | 124.3         | 100.0%  | 3     |
+| vm.run_command              | 39.616    | 56.794    | 65.711    | 65.58         | 65.646        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.093     | 7.436     | 8.109     | 8.108         | 8.108         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.464    | 16.501    | 17.595    | 17.365        | 17.48         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.465241909
+Full duration: 158.110044956
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 942b0b36-c26c-46aa-9260-70983ca2293e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 942b0b36-c26c-46aa-9260-70983ca2293e
+
+Using task: 942b0b36-c26c-46aa-9260-70983ca2293e
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 61},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 34},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 35}]
+================================================================================
+
+====> {"randwrite s 4k": [43, 21]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filecRI1eh
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d13e7b10-eff8-4bcd-8f89-39336d364ad5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task d13e7b10-eff8-4bcd-8f89-39336d364ad5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filecRI1eh',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.122     | 1.243     | 1.409     | 1.367         | 1.388         | 100.0%  | 3     |
+| nova.boot_server            | 13.154    | 15.642    | 19.625    | 18.529        | 19.077        | 100.0%  | 3     |
+| nova.delete_server          | 2.812     | 2.844     | 2.866     | 2.863         | 2.864         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.247     | 2.956     | 6.309     | 5.31          | 5.81          | 100.0%  | 3     |
+| total                       | 89.453    | 113.602   | 127.916   | 127.02        | 127.468       | 100.0%  | 3     |
+| vm.run_command              | 40.176    | 62.716    | 74.277    | 74.16         | 74.218        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.094     | 7.433     | 8.103     | 8.103         | 8.103         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.948    | 13.482    | 16.58     | 15.848        | 16.214        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.06812501
+Full duration: 156.870414972
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d13e7b10-eff8-4bcd-8f89-39336d364ad5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d13e7b10-eff8-4bcd-8f89-39336d364ad5
+
+Using task: d13e7b10-eff8-4bcd-8f89-39336d364ad5
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 60},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 30},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 30}]
+================================================================================
+
+====> {"write s 4k": [40, 24]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileGh9WjP
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  78e94138-dbc3-4ceb-8a39-57091b57da3f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 78e94138-dbc3-4ceb-8a39-57091b57da3f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileGh9WjP',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.2       | 1.316     | 1.392     | 1.385         | 1.389         | 100.0%  | 3     |
+| nova.boot_server            | 14.055    | 15.233    | 17.332    | 16.728        | 17.03         | 100.0%  | 3     |
+| nova.delete_server          | 2.819     | 2.86      | 2.941     | 2.917         | 2.929         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.394     | 1.441     | 1.519     | 1.497         | 1.508         | 100.0%  | 3     |
+| total                       | 92.487    | 108.26    | 116.375   | 116.283       | 116.329       | 100.0%  | 3     |
+| vm.run_command              | 40.379    | 56.251    | 64.318    | 64.265        | 64.292        | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.269     | 7.159     | 10.108    | 9.306         | 9.707         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.913    | 13.065    | 16.014    | 15.265        | 15.639        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 116.446413994
+Full duration: 146.315018892
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 78e94138-dbc3-4ceb-8a39-57091b57da3f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 78e94138-dbc3-4ceb-8a39-57091b57da3f
+
+Using task: 78e94138-dbc3-4ceb-8a39-57091b57da3f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 60},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 35},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 35}]
+================================================================================
+
+====> {"write s 4k": [43, 20]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileVm2asN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f9f11f90-2705-491e-b8d6-d909d417b1e2: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task f9f11f90-2705-491e-b8d6-d909d417b1e2: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileVm2asN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.146     | 1.233     | 1.288     | 1.284         | 1.286         | 100.0%  | 3     |
+| nova.boot_server            | 13.309    | 15.621    | 18.595    | 17.868        | 18.231        | 100.0%  | 3     |
+| nova.delete_server          | 2.806     | 2.85      | 2.923     | 2.903         | 2.913         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.374     | 3.073     | 6.431     | 5.428         | 5.929         | 100.0%  | 3     |
+| total                       | 80.593    | 110.346   | 127.144   | 126.376       | 126.76        | 100.0%  | 3     |
+| vm.run_command              | 28.634    | 56.687    | 71.239    | 71.029        | 71.134        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.089     | 6.762     | 8.105     | 7.702         | 7.904         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.79     | 15.863    | 16.486    | 16.452        | 16.469        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.262978792
+Full duration: 150.966497898
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f9f11f90-2705-491e-b8d6-d909d417b1e2 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f9f11f90-2705-491e-b8d6-d909d417b1e2
+
+Using task: f9f11f90-2705-491e-b8d6-d909d417b1e2
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 31},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 32}]
+================================================================================
+
+====> {"write s 4k": [51, 47]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filefKIh2h
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  26d6307f-a5b2-41c3-a857-fee1acbc99c5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 26d6307f-a5b2-41c3-a857-fee1acbc99c5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filefKIh2h',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.269     | 1.326     | 1.439     | 1.405         | 1.422         | 100.0%  | 3     |
+| nova.boot_server            | 12.851    | 13.428    | 14.401    | 14.127        | 14.264        | 100.0%  | 3     |
+| nova.delete_server          | 2.813     | 2.842     | 2.894     | 2.879         | 2.886         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.39      | 1.419     | 1.445     | 1.441         | 1.443         | 100.0%  | 3     |
+| total                       | 76.294    | 86.141    | 92.493    | 91.922        | 92.207        | 100.0%  | 3     |
+| vm.run_command              | 27.456    | 35.584    | 40.763    | 40.317        | 40.54         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.089     | 6.764     | 8.108     | 7.706         | 7.907         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.304    | 14.858    | 21.374    | 19.478        | 20.426        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 92.6020629406
+Full duration: 116.636039972
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 26d6307f-a5b2-41c3-a857-fee1acbc99c5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 26d6307f-a5b2-41c3-a857-fee1acbc99c5
+
+Using task: 26d6307f-a5b2-41c3-a857-fee1acbc99c5
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1551},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1012},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 956}]
+================================================================================
+
+====> {"randwrite s 64k": [1173, 464]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file3P0096
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  9635f855-21da-4c97-9a67-707c2a26e1a1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 9635f855-21da-4c97-9a67-707c2a26e1a1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file3P0096',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.198     | 1.278     | 1.337     | 1.33          | 1.333         | 100.0%  | 3     |
+| nova.boot_server            | 13.701    | 13.801    | 13.905    | 13.883        | 13.894        | 100.0%  | 3     |
+| nova.delete_server          | 2.841     | 2.883     | 2.964     | 2.94          | 2.952         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.304     | 1.391     | 1.546     | 1.502         | 1.524         | 100.0%  | 3     |
+| total                       | 76.34     | 81.23     | 88.855    | 86.783        | 87.819        | 100.0%  | 3     |
+| vm.run_command              | 28.058    | 32.902    | 40.693    | 38.546        | 39.619        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.098     | 6.103     | 6.105     | 6.105         | 6.105         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.41     | 14.637    | 15.796    | 15.578        | 15.687        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 89.0007560253
+Full duration: 112.272672892
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 9635f855-21da-4c97-9a67-707c2a26e1a1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 9635f855-21da-4c97-9a67-707c2a26e1a1
+
+Using task: 9635f855-21da-4c97-9a67-707c2a26e1a1
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1511},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1394},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 948}]
+================================================================================
+
+====> {"randwrite s 64k": [1284, 420]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileOAEhjR
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f2caceff-6cc7-4197-aa80-4ae0f3e664d3: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task f2caceff-6cc7-4197-aa80-4ae0f3e664d3: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileOAEhjR',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.265     | 1.289     | 1.321     | 1.313         | 1.317         | 100.0%  | 3     |
+| nova.boot_server            | 13.822    | 13.941    | 14.099    | 14.059        | 14.079        | 100.0%  | 3     |
+| nova.delete_server          | 2.82      | 2.835     | 2.862     | 2.854         | 2.858         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.353     | 1.441     | 1.494     | 1.491         | 1.492         | 100.0%  | 3     |
+| total                       | 71.677    | 80.452    | 84.919    | 84.887        | 84.903        | 100.0%  | 3     |
+| vm.run_command              | 27.013    | 35.796    | 40.197    | 40.194        | 40.195        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.102     | 7.014     | 8.116     | 7.857         | 7.986         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.024    | 12.313    | 13.836    | 13.684        | 13.76         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 84.9922959805
+Full duration: 110.154686928
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f2caceff-6cc7-4197-aa80-4ae0f3e664d3 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f2caceff-6cc7-4197-aa80-4ae0f3e664d3
+
+Using task: f2caceff-6cc7-4197-aa80-4ae0f3e664d3
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1587},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 970},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 970}]
+================================================================================
+
+====> {"randwrite s 64k": [1175, 503]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file4w8hVm
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  73485776-9943-48c5-881a-7d52f96ab7e6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 73485776-9943-48c5-881a-7d52f96ab7e6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file4w8hVm',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.155     | 1.21      | 1.274     | 1.259         | 1.266         | 100.0%  | 3     |
+| nova.boot_server            | 13.261    | 15.838    | 19.733    | 18.691        | 19.212        | 100.0%  | 3     |
+| nova.delete_server          | 7.379     | 7.427     | 7.5       | 7.481         | 7.49          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.84      | 4.914     | 6.491     | 6.476         | 6.483         | 100.0%  | 3     |
+| total                       | 207.731   | 337.942   | 414.76    | 410.075       | 412.418       | 100.0%  | 3     |
+| vm.run_command              | 137.122   | 270.538   | 349.173   | 344.402       | 346.787       | 100.0%  | 3     |
+| vm.wait_for_ping            | 8.094     | 8.099     | 8.107     | 8.105         | 8.106         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.731     | 14.217    | 19.475    | 18.269        | 18.872        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 414.850273132
+Full duration: 471.163784981
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 73485776-9943-48c5-881a-7d52f96ab7e6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 73485776-9943-48c5-881a-7d52f96ab7e6
+
+Using task: 73485776-9943-48c5-881a-7d52f96ab7e6
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 34025},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23043},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14119}]
+================================================================================
+
+====> {"randwrite a 64k": [23729, 14100]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filePEOvG0
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  4ece8283-06da-4f2c-b5f6-46d0e56622e7: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 4ece8283-06da-4f2c-b5f6-46d0e56622e7: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filePEOvG0',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.226     | 1.302     | 1.419     | 1.388         | 1.403         | 100.0%  | 3     |
+| nova.boot_server            | 18.056    | 20.729    | 24.652    | 23.618        | 24.135        | 100.0%  | 3     |
+| nova.delete_server          | 2.961     | 5.883     | 7.361     | 7.354         | 7.358         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.316     | 6.361     | 6.41      | 6.4           | 6.405         | 100.0%  | 3     |
+| total                       | 196.174   | 203.157   | 210.665   | 209.058       | 209.862       | 100.0%  | 3     |
+| vm.run_command              | 132.948   | 139.673   | 147.357   | 145.629       | 146.493       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.1       | 6.851     | 8.105     | 7.753         | 7.929         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.841    | 13.233    | 14.737    | 14.614        | 14.676        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 210.737077951
+Full duration: 254.918076992
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 4ece8283-06da-4f2c-b5f6-46d0e56622e7 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 4ece8283-06da-4f2c-b5f6-46d0e56622e7
+
+Using task: 4ece8283-06da-4f2c-b5f6-46d0e56622e7
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 36092},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 32651},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 29798}]
+================================================================================
+
+====> {"randwrite a 64k": [32847, 4456]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileqrS29B
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  26de23c5-6dac-4fdd-8d0b-cea6e26ee00c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 26de23c5-6dac-4fdd-8d0b-cea6e26ee00c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileqrS29B',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.292     | 1.327     | 1.348     | 1.347         | 1.348         | 100.0%  | 3     |
+| nova.boot_server            | 12.626    | 17.36     | 25.339    | 23.094        | 24.216        | 100.0%  | 3     |
+| nova.delete_server          | 7.317     | 7.382     | 7.478     | 7.453         | 7.465         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.604     | 3.23      | 6.332     | 5.416         | 5.874         | 100.0%  | 3     |
+| total                       | 207.417   | 330.187   | 434.808   | 417.514       | 426.161       | 100.0%  | 3     |
+| vm.run_command              | 138.344   | 264.159   | 370.257   | 352.981       | 361.619       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.094     | 6.769     | 8.112     | 7.71          | 7.911         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.743    | 16.92     | 19.84     | 19.107        | 19.473        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 434.889387131
+Full duration: 490.159018993
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 26de23c5-6dac-4fdd-8d0b-cea6e26ee00c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 26de23c5-6dac-4fdd-8d0b-cea6e26ee00c
+
+Using task: 26de23c5-6dac-4fdd-8d0b-cea6e26ee00c
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33195},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16404},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 30598}]
+================================================================================
+
+====> {"randwrite a 64k": [26732, 12782]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileQuUHxi
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2cf06028-1e61-4bec-bf6f-29cad8a5a5c6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 2cf06028-1e61-4bec-bf6f-29cad8a5a5c6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileQuUHxi',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.258     | 1.31      | 1.372     | 1.358         | 1.365         | 100.0%  | 3     |
+| nova.boot_server            | 18.161    | 21.258    | 26.313    | 24.91         | 25.612        | 100.0%  | 3     |
+| nova.delete_server          | 2.822     | 4.457     | 7.717     | 6.74          | 7.229         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.277     | 1.418     | 1.505     | 1.499         | 1.502         | 100.0%  | 3     |
+| total                       | 101.135   | 129.088   | 147.326   | 145.621       | 146.473       | 100.0%  | 3     |
+| vm.run_command              | 44.733    | 69.238    | 82.166    | 81.896        | 82.031        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.227     | 6.5       | 6.957     | 6.829         | 6.893         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.017    | 15.882    | 17.706    | 17.349        | 17.528        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 147.421058178
+Full duration: 177.399333
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2cf06028-1e61-4bec-bf6f-29cad8a5a5c6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2cf06028-1e61-4bec-bf6f-29cad8a5a5c6
+
+Using task: 2cf06028-1e61-4bec-bf6f-29cad8a5a5c6
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 848},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 436},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 446}]
+================================================================================
+
+====> {"write s 64k": [576, 332]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileKYYt5m
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6c4b7287-5295-4676-99d9-7b59de526688: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 6c4b7287-5295-4676-99d9-7b59de526688: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileKYYt5m',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.286     | 1.459     | 1.736     | 1.66          | 1.698         | 100.0%  | 3     |
+| nova.boot_server            | 13.195    | 15.743    | 19.441    | 18.471        | 18.956        | 100.0%  | 3     |
+| nova.delete_server          | 2.857     | 3.649     | 5.14      | 4.702         | 4.921         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.314     | 1.45      | 1.6       | 1.567         | 1.584         | 100.0%  | 3     |
+| total                       | 95.238    | 115.536   | 126.834   | 126.374       | 126.604       | 100.0%  | 3     |
+| vm.run_command              | 44.36     | 63.789    | 73.533    | 73.522        | 73.527        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.105     | 7.44      | 8.11      | 8.109         | 8.11          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.317    | 16.154    | 20.835    | 19.53         | 20.182        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 126.93172884
+Full duration: 152.126657963
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6c4b7287-5295-4676-99d9-7b59de526688 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6c4b7287-5295-4676-99d9-7b59de526688
+
+Using task: 6c4b7287-5295-4676-99d9-7b59de526688
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 858},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 485},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 505}]
+================================================================================
+
+====> {"write s 64k": [616, 296]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileK9IYQy
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  172a9ec2-178e-4713-9063-d9bbde904139: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 172a9ec2-178e-4713-9063-d9bbde904139: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileK9IYQy',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.207     | 2.924     | 6.288     | 5.285         | 5.786         | 100.0%  | 3     |
+| nova.boot_server            | 13.006    | 15.11     | 17.912    | 17.212        | 17.562        | 100.0%  | 3     |
+| nova.delete_server          | 2.818     | 2.895     | 2.955     | 2.946         | 2.951         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.298     | 1.344     | 1.399     | 1.386         | 1.393         | 100.0%  | 3     |
+| total                       | 95.595    | 110.968   | 118.992   | 118.857       | 118.925       | 100.0%  | 3     |
+| vm.run_command              | 42.29     | 57.516    | 65.521    | 65.364        | 65.442        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.085     | 4.096     | 6.104     | 5.703         | 5.904         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.235    | 17.448    | 21.443    | 20.688        | 21.065        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 119.108000994
+Full duration: 142.913630962
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 172a9ec2-178e-4713-9063-d9bbde904139 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 172a9ec2-178e-4713-9063-d9bbde904139
+
+Using task: 172a9ec2-178e-4713-9063-d9bbde904139
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 907},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 559},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 572}]
+================================================================================
+
+====> {"write s 64k": [679, 278]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileThYEFE
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  36ce47a5-6b9c-46a3-a16d-3ef785c8399d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 36ce47a5-6b9c-46a3-a16d-3ef785c8399d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileThYEFE',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.307     | 1.555     | 1.951     | 1.842         | 1.897         | 100.0%  | 3     |
+| nova.boot_server            | 12.873    | 14.561    | 16.685    | 16.173        | 16.429        | 100.0%  | 3     |
+| nova.delete_server          | 2.817     | 2.83      | 2.847     | 2.843         | 2.845         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.317     | 3.012     | 6.342     | 5.349         | 5.846         | 100.0%  | 3     |
+| total                       | 78.231    | 95.979    | 105.214   | 105.07        | 105.142       | 100.0%  | 3     |
+| vm.run_command              | 29.292    | 43.751    | 51.419    | 51.244        | 51.331        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.107     | 7.445     | 8.116     | 8.116         | 8.116         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.793    | 13.187    | 14.594    | 14.51         | 14.552        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 105.270731926
+Full duration: 129.490969181
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 36ce47a5-6b9c-46a3-a16d-3ef785c8399d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 36ce47a5-6b9c-46a3-a16d-3ef785c8399d
+
+Using task: 36ce47a5-6b9c-46a3-a16d-3ef785c8399d
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 104132},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 54696},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 59173}]
+================================================================================
+
+====> {"write a 64k": [72667, 38666]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filer3S7PQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  984be3f7-3cc6-4697-8b92-009c5d28d458: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 984be3f7-3cc6-4697-8b92-009c5d28d458: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filer3S7PQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.102     | 1.277     | 1.385     | 1.376         | 1.381         | 100.0%  | 3     |
+| nova.boot_server            | 13.175    | 14.95     | 18.445    | 17.402        | 17.923        | 100.0%  | 3     |
+| nova.delete_server          | 2.809     | 2.825     | 2.854     | 2.845         | 2.849         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.341     | 1.438     | 1.534     | 1.515         | 1.524         | 100.0%  | 3     |
+| total                       | 75.426    | 91.386    | 101.728   | 100.783       | 101.256       | 100.0%  | 3     |
+| vm.run_command              | 26.572    | 42.504    | 52.74     | 51.831        | 52.285        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.12      | 7.452     | 8.122     | 8.12          | 8.121         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.876    | 12.852    | 14.089    | 13.789        | 13.939        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 101.877170086
+Full duration: 125.668850183
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 984be3f7-3cc6-4697-8b92-009c5d28d458 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 984be3f7-3cc6-4697-8b92-009c5d28d458
+
+Using task: 984be3f7-3cc6-4697-8b92-009c5d28d458
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 111526},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 54194},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57963}]
+================================================================================
+
+====> {"write a 64k": [74561, 45351]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileevRMsL
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e19dbe68-c24a-4958-819f-b90b6bf2ba6c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task e19dbe68-c24a-4958-819f-b90b6bf2ba6c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileevRMsL',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.301     | 1.334     | 1.352     | 1.352         | 1.352         | 100.0%  | 3     |
+| nova.boot_server            | 14.167    | 15.487    | 17.886    | 17.191        | 17.538        | 100.0%  | 3     |
+| nova.delete_server          | 2.841     | 2.858     | 2.87      | 2.869         | 2.87          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.312     | 1.446     | 1.569     | 1.547         | 1.558         | 100.0%  | 3     |
+| total                       | 83.233    | 96.68     | 103.911   | 103.708       | 103.809       | 100.0%  | 3     |
+| vm.run_command              | 30.179    | 43.434    | 50.616    | 50.395        | 50.505        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.108     | 7.525     | 9.011     | 8.7           | 8.855         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.023    | 13.06     | 16.869    | 15.753        | 16.311        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 103.971338987
+Full duration: 130.915570974
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e19dbe68-c24a-4958-819f-b90b6bf2ba6c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e19dbe68-c24a-4958-819f-b90b6bf2ba6c
+
+Using task: e19dbe68-c24a-4958-819f-b90b6bf2ba6c
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 98284},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 51863},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 52555}]
+================================================================================
+
+====> {"write a 64k": [67567, 37623]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileFLDctp
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c8c646ef-b8a9-49eb-bfe8-2a5f9e392887: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task c8c646ef-b8a9-49eb-bfe8-2a5f9e392887: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileFLDctp',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.183     | 1.208     | 1.256     | 1.242         | 1.249         | 100.0%  | 3     |
+| nova.boot_server            | 14.137    | 15.905    | 18.517    | 17.825        | 18.171        | 100.0%  | 3     |
+| nova.delete_server          | 2.823     | 2.865     | 2.947     | 2.923         | 2.935         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.362     | 1.462     | 1.534     | 1.525         | 1.53          | 100.0%  | 3     |
+| total                       | 90.993    | 107.268   | 116.271   | 115.925       | 116.098       | 100.0%  | 3     |
+| vm.run_command              | 41.843    | 58.024    | 66.937    | 66.608        | 66.773        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.102     | 6.105     | 6.108     | 6.107         | 6.108         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.568    | 15.048    | 15.302    | 15.296        | 15.299        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 116.411591053
+Full duration: 150.168483973
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c8c646ef-b8a9-49eb-bfe8-2a5f9e392887 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c8c646ef-b8a9-49eb-bfe8-2a5f9e392887
+
+Using task: c8c646ef-b8a9-49eb-bfe8-2a5f9e392887
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3764},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2259},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2411}]
+================================================================================
+
+====> {"randwrite s 256k": [2811, 1171]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filer10Xy5
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5d237d13-b939-4a25-9013-84429f77f4bc: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 5d237d13-b939-4a25-9013-84429f77f4bc: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filer10Xy5',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.161     | 1.257     | 1.351     | 1.332         | 1.342         | 100.0%  | 3     |
+| nova.boot_server            | 13.467    | 15.517    | 18.621    | 17.79         | 18.205        | 100.0%  | 3     |
+| nova.delete_server          | 2.85      | 4.362     | 7.375     | 6.472         | 6.924         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.289     | 1.334     | 1.387     | 1.374         | 1.381         | 100.0%  | 3     |
+| total                       | 97.518    | 117.384   | 128.121   | 127.799       | 127.96        | 100.0%  | 3     |
+| vm.run_command              | 40.317    | 63.25     | 75.443    | 75.152        | 75.297        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.105     | 7.109     | 8.118     | 7.915         | 8.017         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 17.291    | 18.85     | 21.825    | 20.947        | 21.386        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.234400988
+Full duration: 157.032094955
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5d237d13-b939-4a25-9013-84429f77f4bc --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5d237d13-b939-4a25-9013-84429f77f4bc
+
+Using task: 5d237d13-b939-4a25-9013-84429f77f4bc
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3988},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1963},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2055}]
+================================================================================
+
+====> {"randwrite s 256k": [2668, 1617]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file8qGAlH
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  783fe250-be1f-45f0-9142-6c4bdf0f6715: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 783fe250-be1f-45f0-9142-6c4bdf0f6715: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file8qGAlH',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.199     | 1.546     | 1.749     | 1.737         | 1.743         | 100.0%  | 3     |
+| nova.boot_server            | 13.935    | 15.893    | 19.5      | 18.449        | 18.975        | 100.0%  | 3     |
+| nova.delete_server          | 2.821     | 2.876     | 2.97      | 2.943         | 2.956         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.275     | 1.378     | 1.48      | 1.46          | 1.47          | 100.0%  | 3     |
+| total                       | 84.867    | 108.232   | 121.014   | 120.574       | 120.794       | 100.0%  | 3     |
+| vm.run_command              | 29.825    | 53.396    | 66.24     | 65.817        | 66.029        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.117     | 6.784     | 8.116     | 7.717         | 7.916         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.312    | 17.429    | 24.963    | 22.773        | 23.868        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 121.122766972
+Full duration: 155.576184988
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 783fe250-be1f-45f0-9142-6c4bdf0f6715 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 783fe250-be1f-45f0-9142-6c4bdf0f6715
+
+Using task: 783fe250-be1f-45f0-9142-6c4bdf0f6715
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5904},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2315},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2422}]
+================================================================================
+
+====> {"randwrite s 256k": [3547, 2887]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file4BxnTv
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a38a10b3-ec98-442a-8435-ff9c4a6ecc14: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task a38a10b3-ec98-442a-8435-ff9c4a6ecc14: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file4BxnTv',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.224     | 1.291     | 1.376     | 1.355         | 1.365         | 100.0%  | 3     |
+| nova.boot_server            | 12.78     | 14.536    | 17.802    | 16.847        | 17.325        | 100.0%  | 3     |
+| nova.delete_server          | 2.855     | 6.682     | 9.849     | 9.347         | 9.598         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.295     | 4.701     | 6.422     | 6.415         | 6.418         | 100.0%  | 3     |
+| total                       | 113.632   | 182.023   | 229.577   | 224.234       | 226.905       | 100.0%  | 3     |
+| vm.run_command              | 59.908    | 119.47    | 161.387   | 156.532       | 158.96        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.273     | 4.832     | 6.111     | 6.111         | 6.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.613    | 18.037    | 20.965    | 20.278        | 20.622        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 229.67965579
+Full duration: 273.646475077
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a38a10b3-ec98-442a-8435-ff9c4a6ecc14 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a38a10b3-ec98-442a-8435-ff9c4a6ecc14
+
+Using task: a38a10b3-ec98-442a-8435-ff9c4a6ecc14
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 77509},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 36203},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57236}]
+================================================================================
+
+====> {"randwrite a 256k": [56982, 29209]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filehSQ5BO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ed81b580-6156-48eb-a17b-f4949d90122e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task ed81b580-6156-48eb-a17b-f4949d90122e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filehSQ5BO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.188     | 1.2       | 1.216     | 1.212         | 1.214         | 100.0%  | 3     |
+| nova.boot_server            | 24.305    | 27.714    | 32.017    | 30.978        | 31.498        | 100.0%  | 3     |
+| nova.delete_server          | 7.67      | 9.03      | 9.77      | 9.746         | 9.758         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.317     | 6.462     | 6.627     | 6.59          | 6.608         | 100.0%  | 3     |
+| total                       | 300.507   | 318.258   | 338.364   | 333.872       | 336.118       | 100.0%  | 3     |
+| vm.run_command              | 212.287   | 232.173   | 251.822   | 247.94        | 249.881       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.109     | 10.796    | 18.164    | 16.154        | 17.159        | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.013    | 16.447    | 21.099    | 19.925        | 20.512        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 338.447651863
+Full duration: 382.501462936
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ed81b580-6156-48eb-a17b-f4949d90122e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ed81b580-6156-48eb-a17b-f4949d90122e
+
+Using task: ed81b580-6156-48eb-a17b-f4949d90122e
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 32850},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25029},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 56376}]
+================================================================================
+
+====> {"randwrite a 256k": [38085, 23074]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileO36zhp
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1901ff0a-b0d3-4167-b0f8-b3c5d414b114: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 1901ff0a-b0d3-4167-b0f8-b3c5d414b114: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileO36zhp',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.354     | 1.851     | 2.111     | 2.106         | 2.109         | 100.0%  | 3     |
+| nova.boot_server            | 18.016    | 20.72     | 26.09     | 24.483        | 25.286        | 100.0%  | 3     |
+| nova.delete_server          | 2.821     | 5.1       | 9.632     | 8.275         | 8.954         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.316     | 3.051     | 6.445     | 5.434         | 5.939         | 100.0%  | 3     |
+| total                       | 126.568   | 203.372   | 243.451   | 242.78        | 243.115       | 100.0%  | 3     |
+| vm.run_command              | 63.455    | 134.646   | 177.031   | 174.315       | 175.673       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.108     | 6.111     | 6.112     | 6.112         | 6.112         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 18.646    | 19.727    | 21.645    | 21.094        | 21.369        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 243.509206772
+Full duration: 293.617636919
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1901ff0a-b0d3-4167-b0f8-b3c5d414b114 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1901ff0a-b0d3-4167-b0f8-b3c5d414b114
+
+Using task: 1901ff0a-b0d3-4167-b0f8-b3c5d414b114
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 70313},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 39483},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 30139}]
+================================================================================
+
+====> {"randwrite a 256k": [46645, 29730]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileuBG79K
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  da3b9af9-b5ce-4f2b-80a0-71a609d05b21: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task da3b9af9-b5ce-4f2b-80a0-71a609d05b21: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileuBG79K',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.236     | 1.266     | 1.309     | 1.298         | 1.304         | 100.0%  | 3     |
+| nova.boot_server            | 17.93     | 20.11     | 23.306    | 22.464        | 22.885        | 100.0%  | 3     |
+| nova.delete_server          | 2.826     | 2.874     | 2.924     | 2.914         | 2.919         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.287     | 1.318     | 1.358     | 1.348         | 1.353         | 100.0%  | 3     |
+| total                       | 101.013   | 125.001   | 137.671   | 137.401       | 137.536       | 100.0%  | 3     |
+| vm.run_command              | 43.362    | 67.382    | 80.042    | 79.782        | 79.912        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.106     | 6.777     | 8.114     | 7.713         | 7.914         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.41     | 15.716    | 16.235    | 16.089        | 16.162        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 137.754535913
+Full duration: 191.973166943
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report da3b9af9-b5ce-4f2b-80a0-71a609d05b21 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results da3b9af9-b5ce-4f2b-80a0-71a609d05b21
+
+Using task: da3b9af9-b5ce-4f2b-80a0-71a609d05b21
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3591},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1822},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1925}]
+================================================================================
+
+====> {"write s 256k": [2446, 1404]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewDTBUO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  cde7aedb-8cc5-4762-a97f-18114de39257: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task cde7aedb-8cc5-4762-a97f-18114de39257: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewDTBUO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.205     | 1.286     | 1.377     | 1.356         | 1.367         | 100.0%  | 3     |
+| nova.boot_server            | 14.694    | 16.421    | 19.771    | 18.777        | 19.274        | 100.0%  | 3     |
+| nova.delete_server          | 2.851     | 2.856     | 2.859     | 2.859         | 2.859         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.335     | 1.362     | 1.411     | 1.396         | 1.403         | 100.0%  | 3     |
+| total                       | 83.731    | 112.319   | 127.087   | 126.898       | 126.993       | 100.0%  | 3     |
+| vm.run_command              | 32.198    | 60.768    | 75.566    | 75.36         | 75.463        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.326     | 2.84      | 6.111     | 5.306         | 5.708         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.146    | 15.873    | 17.269    | 16.856        | 17.063        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.238701105
+Full duration: 151.808643103
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report cde7aedb-8cc5-4762-a97f-18114de39257 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results cde7aedb-8cc5-4762-a97f-18114de39257
+
+Using task: cde7aedb-8cc5-4762-a97f-18114de39257
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5306},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1941},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2059}]
+================================================================================
+
+====> {"write s 256k": [3102, 2700]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileb1Ydyt
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  78fc8314-dea7-4206-acf0-50de533c073d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 78fc8314-dea7-4206-acf0-50de533c073d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileb1Ydyt',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.174     | 1.345     | 1.55      | 1.502         | 1.526         | 100.0%  | 3     |
+| nova.boot_server            | 12.89     | 14.943    | 18.022    | 17.201        | 17.611        | 100.0%  | 3     |
+| nova.delete_server          | 2.819     | 2.846     | 2.892     | 2.879         | 2.886         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.251     | 1.379     | 1.494     | 1.473         | 1.484         | 100.0%  | 3     |
+| total                       | 97.685    | 114.0     | 123.334   | 122.863       | 123.098       | 100.0%  | 3     |
+| vm.run_command              | 44.68     | 61.127    | 70.365    | 69.959        | 70.162        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.099     | 7.777     | 9.109     | 8.912         | 9.011         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.352    | 12.914    | 17.74     | 16.322        | 17.031        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 123.427824974
+Full duration: 152.242094994
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 78fc8314-dea7-4206-acf0-50de533c073d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 78fc8314-dea7-4206-acf0-50de533c073d
+
+Using task: 78fc8314-dea7-4206-acf0-50de533c073d
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3502},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2316},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2061}]
+================================================================================
+
+====> {"write s 256k": [2626, 1087]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileR7aPBU
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  569097ff-fc6a-4770-bdb9-c3d0c89cb93f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 569097ff-fc6a-4770-bdb9-c3d0c89cb93f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileR7aPBU',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.293     | 1.328     | 1.358     | 1.353         | 1.356         | 100.0%  | 3     |
+| nova.boot_server            | 13.237    | 17.29     | 20.545    | 20.054        | 20.3          | 100.0%  | 3     |
+| nova.delete_server          | 2.828     | 2.867     | 2.929     | 2.912         | 2.921         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.34      | 1.403     | 1.502     | 1.475         | 1.489         | 100.0%  | 3     |
+| total                       | 83.071    | 97.235    | 104.845   | 104.634       | 104.739       | 100.0%  | 3     |
+| vm.run_command              | 30.38     | 44.571    | 52.183    | 51.977        | 52.08         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.105     | 6.777     | 8.119     | 7.716         | 7.918         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.906    | 14.595    | 16.568    | 16.316        | 16.442        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 104.974107981
+Full duration: 128.427438021
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 569097ff-fc6a-4770-bdb9-c3d0c89cb93f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 569097ff-fc6a-4770-bdb9-c3d0c89cb93f
+
+Using task: 569097ff-fc6a-4770-bdb9-c3d0c89cb93f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 104949},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 53126},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 54038}]
+================================================================================
+
+====> {"write a 256k": [70704, 41945]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileGAFYiF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  afd297de-575e-4fd9-bd58-8560dbe86676: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task afd297de-575e-4fd9-bd58-8560dbe86676: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileGAFYiF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.197     | 1.218     | 1.229     | 1.228         | 1.228         | 100.0%  | 3     |
+| nova.boot_server            | 12.581    | 15.012    | 19.269    | 18.052        | 18.661        | 100.0%  | 3     |
+| nova.delete_server          | 2.826     | 2.87      | 2.947     | 2.925         | 2.936         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.292     | 1.377     | 1.467     | 1.448         | 1.458         | 100.0%  | 3     |
+| total                       | 81.01     | 96.66     | 105.957   | 105.369       | 105.663       | 100.0%  | 3     |
+| vm.run_command              | 25.702    | 41.439    | 50.739    | 50.166        | 50.453        | 100.0%  | 3     |
+| vm.wait_for_ping            | 7.112     | 7.534     | 8.117     | 7.968         | 8.043         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.714     | 13.78     | 19.706    | 18.549        | 19.127        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 106.090652943
+Full duration: 130.062799931
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report afd297de-575e-4fd9-bd58-8560dbe86676 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results afd297de-575e-4fd9-bd58-8560dbe86676
+
+Using task: afd297de-575e-4fd9-bd58-8560dbe86676
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 119988},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 59543},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 66358}]
+================================================================================
+
+====> {"write a 256k": [81963, 46819]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file9ulmJh
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  9a645063-d0fb-47d7-bdf3-a7b5255aba6f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 9a645063-d0fb-47d7-bdf3-a7b5255aba6f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file9ulmJh',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.216     | 1.383     | 1.638     | 1.569         | 1.603         | 100.0%  | 3     |
+| nova.boot_server            | 13.032    | 14.689    | 17.8      | 16.887        | 17.343        | 100.0%  | 3     |
+| nova.delete_server          | 2.807     | 2.82      | 2.837     | 2.833         | 2.835         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.337     | 1.368     | 1.413     | 1.401         | 1.407         | 100.0%  | 3     |
+| total                       | 78.339    | 91.934    | 99.723    | 99.327        | 99.525        | 100.0%  | 3     |
+| vm.run_command              | 28.697    | 42.333    | 50.188    | 49.774        | 49.981        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.217     | 7.479     | 8.111     | 8.11          | 8.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.97     | 14.036    | 15.909    | 15.573        | 15.741        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 99.875991106
+Full duration: 123.841777086
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 9a645063-d0fb-47d7-bdf3-a7b5255aba6f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 9a645063-d0fb-47d7-bdf3-a7b5255aba6f
+
+Using task: 9a645063-d0fb-47d7-bdf3-a7b5255aba6f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 96058},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 55269},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 66312}]
+================================================================================
+
+====> {"write a 256k": [72546, 29835]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filehjhWPh
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  9d97b8e7-be22-473f-9367-5b3bce40901e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 9d97b8e7-be22-473f-9367-5b3bce40901e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filehjhWPh',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.199     | 2.945     | 6.395     | 5.365         | 5.88          | 100.0%  | 3     |
+| nova.boot_server            | 13.681    | 15.028    | 17.45     | 16.751        | 17.1          | 100.0%  | 3     |
+| nova.delete_server          | 2.82      | 4.365     | 7.43      | 6.513         | 6.971         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.308     | 3.036     | 6.449     | 5.43          | 5.94          | 100.0%  | 3     |
+| total                       | 110.276   | 145.148   | 164.404   | 163.676       | 164.04        | 100.0%  | 3     |
+| vm.run_command              | 57.616    | 89.238    | 108.144   | 106.906       | 107.525       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.097     | 5.952     | 7.65      | 7.341         | 7.496         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.348    | 15.192    | 17.134    | 16.926        | 17.03         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 164.524607897
+Full duration: 203.651623011
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 9d97b8e7-be22-473f-9367-5b3bce40901e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 9d97b8e7-be22-473f-9367-5b3bce40901e
+
+Using task: 9d97b8e7-be22-473f-9367-5b3bce40901e
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 12906},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8540},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9412}]
+================================================================================
+
+====> {"randwrite s 1024k": [10286, 3267]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileW4hdOl
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  afe0b955-3720-4bc2-bf19-afc7ab1d80fe: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task afe0b955-3720-4bc2-bf19-afc7ab1d80fe: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileW4hdOl',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.197     | 1.269     | 1.344     | 1.328         | 1.336         | 100.0%  | 3     |
+| nova.boot_server            | 17.904    | 18.862    | 20.549    | 20.066        | 20.307        | 100.0%  | 3     |
+| nova.delete_server          | 2.836     | 4.542     | 7.849     | 6.867         | 7.358         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.297     | 1.341     | 1.381     | 1.374         | 1.378         | 100.0%  | 3     |
+| total                       | 109.441   | 147.928   | 172.126   | 170.144       | 171.135       | 100.0%  | 3     |
+| vm.run_command              | 54.05     | 89.326    | 117.021   | 112.998       | 115.01        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.318     | 5.518     | 8.12      | 8.119         | 8.12          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.149    | 18.698    | 20.548    | 20.518        | 20.533        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 172.249989033
+Full duration: 211.649453878
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report afe0b955-3720-4bc2-bf19-afc7ab1d80fe --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results afe0b955-3720-4bc2-bf19-afc7ab1d80fe
+
+Using task: afe0b955-3720-4bc2-bf19-afc7ab1d80fe
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13481},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7112},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9076}]
+================================================================================
+
+====> {"randwrite s 1024k": [9889, 4612]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filepKdsWA
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  db5a2294-5047-40ec-aeeb-aa23c4a3373d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task db5a2294-5047-40ec-aeeb-aa23c4a3373d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filepKdsWA',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.281     | 1.317     | 1.387     | 1.366         | 1.377         | 100.0%  | 3     |
+| nova.boot_server            | 14.34     | 18.001    | 21.13     | 20.611        | 20.87         | 100.0%  | 3     |
+| nova.delete_server          | 2.828     | 4.38      | 7.414     | 6.511         | 6.963         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.332     | 3.13      | 6.36      | 5.427         | 5.893         | 100.0%  | 3     |
+| total                       | 112.256   | 147.333   | 172.588   | 169.501       | 171.044       | 100.0%  | 3     |
+| vm.run_command              | 55.15     | 87.356    | 111.466   | 108.264       | 109.865       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.099     | 6.106     | 8.11      | 7.71          | 7.91          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.692    | 21.285    | 27.488    | 26.526        | 27.007        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 172.638503075
+Full duration: 217.468793154
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report db5a2294-5047-40ec-aeeb-aa23c4a3373d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results db5a2294-5047-40ec-aeeb-aa23c4a3373d
+
+Using task: db5a2294-5047-40ec-aeeb-aa23c4a3373d
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13444},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7281},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10204}]
+================================================================================
+
+====> {"randwrite s 1024k": [10309, 4359]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileTYiLOV
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  abe4533e-8a50-4c28-85f6-8b6ebcd84987: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task abe4533e-8a50-4c28-85f6-8b6ebcd84987: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileTYiLOV',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.222     | 1.67      | 2.45      | 2.228         | 2.339         | 100.0%  | 3     |
+| nova.boot_server            | 18.782    | 26.601    | 34.56     | 32.94         | 33.75         | 100.0%  | 3     |
+| nova.delete_server          | 2.817     | 6.499     | 8.623     | 8.51          | 8.566         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.336     | 4.782     | 6.563     | 6.54          | 6.551         | 100.0%  | 3     |
+| total                       | 218.436   | 257.053   | 276.373   | 276.369       | 276.371       | 100.0%  | 3     |
+| vm.run_command              | 132.676   | 171.727   | 191.253   | 191.253       | 191.253       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.433     | 11.671    | 20.159    | 17.811        | 18.985        | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.876    | 16.619    | 19.044    | 19.023        | 19.033        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 276.492331982
+Full duration: 332.579564095
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report abe4533e-8a50-4c28-85f6-8b6ebcd84987 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results abe4533e-8a50-4c28-85f6-8b6ebcd84987
+
+Using task: abe4533e-8a50-4c28-85f6-8b6ebcd84987
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 81592},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 55542},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 38004}]
+================================================================================
+
+====> {"randwrite a 1024k": [58379, 31016]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filerHyL8v
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c4b8d387-45ad-41a7-b38b-0236d8cfaa23: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task c4b8d387-45ad-41a7-b38b-0236d8cfaa23: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filerHyL8v',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.296     | 3.026     | 6.391     | 5.391         | 5.891         | 100.0%  | 3     |
+| nova.boot_server            | 18.763    | 19.881    | 21.714    | 21.204        | 21.459        | 100.0%  | 3     |
+| nova.delete_server          | 2.824     | 4.338     | 7.363     | 6.456         | 6.91          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.33      | 1.407     | 1.521     | 1.491         | 1.506         | 100.0%  | 3     |
+| total                       | 97.361    | 144.086   | 176.014   | 172.588       | 174.301       | 100.0%  | 3     |
+| vm.run_command              | 43.327    | 88.465    | 122.019   | 117.625       | 119.822       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.257     | 4.428     | 6.924     | 6.76          | 6.842         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.871    | 15.794    | 16.27     | 16.264        | 16.267        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 176.164917946
+Full duration: 211.760010004
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c4b8d387-45ad-41a7-b38b-0236d8cfaa23 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c4b8d387-45ad-41a7-b38b-0236d8cfaa23
+
+Using task: c4b8d387-45ad-41a7-b38b-0236d8cfaa23
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 100078},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86889},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88326}]
+================================================================================
+
+====> {"randwrite a 1024k": [91764, 10232]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filef5hYOD
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5649af04-fc7c-40a3-b5ec-531c0016aac6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 5649af04-fc7c-40a3-b5ec-531c0016aac6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filef5hYOD',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.221     | 2.917     | 6.266     | 5.266         | 5.766         | 100.0%  | 3     |
+| nova.boot_server            | 13.177    | 16.935    | 18.877    | 18.852        | 18.865        | 100.0%  | 3     |
+| nova.delete_server          | 2.95      | 2.96      | 2.966     | 2.965         | 2.966         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.508     | 1.782     | 2.203     | 2.09          | 2.146         | 100.0%  | 3     |
+| total                       | 95.506    | 97.659    | 98.812    | 98.781        | 98.796        | 100.0%  | 3     |
+| vm.run_command              | 42.575    | 45.135    | 46.556    | 46.5          | 46.528        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.089     | 4.766     | 6.106     | 6.105         | 6.105         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.606     | 13.971    | 16.427    | 16.318        | 16.372        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 98.8643929958
+Full duration: 128.757750034
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5649af04-fc7c-40a3-b5ec-531c0016aac6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5649af04-fc7c-40a3-b5ec-531c0016aac6
+
+Using task: 5649af04-fc7c-40a3-b5ec-531c0016aac6
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 94774},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86288},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87475}]
+================================================================================
+
+====> {"randwrite a 1024k": [89512, 6498]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileq1aA6o
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  102cfedd-4b60-4cbb-81a4-91bf57bdcef9: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 102cfedd-4b60-4cbb-81a4-91bf57bdcef9: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileq1aA6o',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.12      | 1.27      | 1.353     | 1.35          | 1.351         | 100.0%  | 3     |
+| nova.boot_server            | 12.694    | 15.131    | 18.863    | 17.858        | 18.36         | 100.0%  | 3     |
+| nova.delete_server          | 4.395     | 6.97      | 8.847     | 8.611         | 8.729         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.417     | 3.186     | 6.637     | 5.611         | 6.124         | 100.0%  | 3     |
+| total                       | 116.54    | 157.166   | 180.568   | 179.332       | 179.95        | 100.0%  | 3     |
+| vm.run_command              | 61.248    | 97.461    | 115.632   | 115.606       | 115.619       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.111     | 7.112     | 8.117     | 7.915         | 8.016         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.615    | 15.042    | 17.716    | 17.332        | 17.524        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 180.663737059
+Full duration: 225.697365046
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 102cfedd-4b60-4cbb-81a4-91bf57bdcef9 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 102cfedd-4b60-4cbb-81a4-91bf57bdcef9
+
+Using task: 102cfedd-4b60-4cbb-81a4-91bf57bdcef9
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10281},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5122},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5406}]
+================================================================================
+
+====> {"write s 1024k": [6936, 4101]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJx4WDX
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  705d4ffe-82de-44be-9c6b-6ffab03b6ac1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 705d4ffe-82de-44be-9c6b-6ffab03b6ac1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJx4WDX',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.109     | 1.201     | 1.281     | 1.267         | 1.274         | 100.0%  | 3     |
+| nova.boot_server            | 17.877    | 19.3      | 20.513    | 20.313        | 20.413        | 100.0%  | 3     |
+| nova.delete_server          | 2.825     | 4.375     | 7.474     | 6.545         | 7.01          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.408     | 3.08      | 6.313     | 5.354         | 5.833         | 100.0%  | 3     |
+| total                       | 121.186   | 153.354   | 170.992   | 170.37        | 170.681       | 100.0%  | 3     |
+| vm.run_command              | 62.792    | 90.098    | 104.352   | 104.112       | 104.232       | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.963     | 6.395     | 8.112     | 8.112         | 8.112         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.53     | 19.985    | 23.397    | 22.923        | 23.16         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 171.123930931
+Full duration: 216.764999866
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 705d4ffe-82de-44be-9c6b-6ffab03b6ac1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 705d4ffe-82de-44be-9c6b-6ffab03b6ac1
+
+Using task: 705d4ffe-82de-44be-9c6b-6ffab03b6ac1
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9872},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5974},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5906}]
+================================================================================
+
+====> {"write s 1024k": [7250, 3210]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileuDpFDO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5ecc77c0-b7b5-4ff2-96fb-5c62feeede6c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 5ecc77c0-b7b5-4ff2-96fb-5c62feeede6c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileuDpFDO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.21      | 1.271     | 1.375     | 1.345         | 1.36          | 100.0%  | 3     |
+| nova.boot_server            | 13.912    | 17.029    | 19.008    | 18.84         | 18.924        | 100.0%  | 3     |
+| nova.delete_server          | 2.837     | 3.037     | 3.42      | 3.307         | 3.364         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 3.031     | 4.146     | 6.348     | 5.69          | 6.019         | 100.0%  | 3     |
+| total                       | 98.839    | 106.916   | 117.824   | 115.076       | 116.45        | 100.0%  | 3     |
+| vm.run_command              | 48.405    | 53.542    | 63.584    | 60.595        | 62.09         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.125     | 7.034     | 8.114     | 7.864         | 7.989         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.101    | 12.598    | 14.027    | 13.755        | 13.891        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 117.916853189
+Full duration: 156.496656179
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5ecc77c0-b7b5-4ff2-96fb-5c62feeede6c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5ecc77c0-b7b5-4ff2-96fb-5c62feeede6c
+
+Using task: 5ecc77c0-b7b5-4ff2-96fb-5c62feeede6c
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13854},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13774},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9950}]
+================================================================================
+
+====> {"write s 1024k": [12526, 3155]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filec8b9RC
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3492ad15-2fc9-4b35-be6f-4ddccfd416c5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 3492ad15-2fc9-4b35-be6f-4ddccfd416c5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filec8b9RC',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 2.086     | 3.718     | 6.5       | 5.713         | 6.106         | 100.0%  | 3     |
+| nova.boot_server            | 14.038    | 15.939    | 18.86     | 18.072        | 18.466        | 100.0%  | 3     |
+| nova.delete_server          | 2.846     | 2.861     | 2.882     | 2.877         | 2.879         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.304     | 1.497     | 1.725     | 1.672         | 1.699         | 100.0%  | 3     |
+| total                       | 73.643    | 75.546    | 76.752    | 76.65         | 76.701        | 100.0%  | 3     |
+| vm.run_command              | 26.5      | 28.146    | 29.345    | 29.195        | 29.27         | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.487     | 3.06      | 8.119     | 6.61          | 7.364         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.359    | 13.938    | 15.823    | 15.785        | 15.804        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 76.909689188
+Full duration: 101.573692083
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3492ad15-2fc9-4b35-be6f-4ddccfd416c5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3492ad15-2fc9-4b35-be6f-4ddccfd416c5
+
+Using task: 3492ad15-2fc9-4b35-be6f-4ddccfd416c5
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 118145},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 105750},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 100133}]
+================================================================================
+
+====> {"write a 1024k": [108009, 13033]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileUMfsfF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  40287cde-250d-417d-ac11-b8e1921e5fe5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 40287cde-250d-417d-ac11-b8e1921e5fe5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileUMfsfF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.179     | 1.215     | 1.249     | 1.243         | 1.246         | 100.0%  | 3     |
+| nova.boot_server            | 13.033    | 22.722    | 27.966    | 27.807        | 27.886        | 100.0%  | 3     |
+| nova.delete_server          | 2.809     | 3.611     | 5.173     | 4.708         | 4.94          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.478     | 1.578     | 1.698     | 1.67          | 1.684         | 100.0%  | 3     |
+| total                       | 144.856   | 147.431   | 150.076   | 149.533       | 149.805       | 100.0%  | 3     |
+| vm.run_command              | 82.517    | 82.581    | 82.71     | 82.671        | 82.691        | 100.0%  | 3     |
+| vm.wait_for_ping            | 8.11      | 8.116     | 8.122     | 8.12          | 8.121         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.954    | 15.378    | 17.04     | 16.86         | 16.95         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 150.197383881
+Full duration: 184.220421076
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 40287cde-250d-417d-ac11-b8e1921e5fe5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 40287cde-250d-417d-ac11-b8e1921e5fe5
+
+Using task: 40287cde-250d-417d-ac11-b8e1921e5fe5
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33110},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 31318},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 34872}]
+================================================================================
+
+====> {"write a 1024k": [33100, 2513]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file1hBYyr
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7c99ca8b-aabd-40f1-a81b-06cfde81ac33: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 7c99ca8b-aabd-40f1-a81b-06cfde81ac33: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file1hBYyr',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.177     | 1.237     | 1.294     | 1.283         | 1.288         | 100.0%  | 3     |
+| nova.boot_server            | 13.469    | 15.99     | 19.756    | 18.753        | 19.254        | 100.0%  | 3     |
+| nova.delete_server          | 2.837     | 2.924     | 2.985     | 2.978         | 2.982         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.547     | 1.575     | 1.596     | 1.593         | 1.594         | 100.0%  | 3     |
+| total                       | 72.429    | 73.335    | 74.898    | 74.454        | 74.676        | 100.0%  | 3     |
+| vm.run_command              | 26.534    | 27.561    | 29.221    | 28.762        | 28.992        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.107     | 6.109     | 6.11      | 6.11          | 6.11          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.667     | 11.924    | 15.212    | 14.348        | 14.78         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 75.0000491142
+Full duration: 115.715474844
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7c99ca8b-aabd-40f1-a81b-06cfde81ac33 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7c99ca8b-aabd-40f1-a81b-06cfde81ac33
+
+Using task: 7c99ca8b-aabd-40f1-a81b-06cfde81ac33
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 118565},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 119879},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 103187}]
+================================================================================
+
+====> {"write a 1024k": [113877, 13125]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file0jwrbb
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  bf8f2e9f-057d-4508-8c17-83f5bce6d47f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task bf8f2e9f-057d-4508-8c17-83f5bce6d47f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file0jwrbb',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.188     | 1.188     | 1.188     | 1.188         | 1.188         | 33.3%   | 3     |
+| nova.boot_server            | 12.294    | 12.294    | 12.294    | 12.294        | 12.294        | 33.3%   | 3     |
+| nova.delete_server          | 2.957     | 2.957     | 2.957     | 2.957         | 2.957         | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 6.643     | 6.643     | 6.643     | 6.643         | 6.643         | 33.3%   | 3     |
+| total                       | 1364.187  | 1364.187  | 1364.187  | 1364.187      | 1364.187      | 33.3%   | 3     |
+| vm.run_command              | 1309.974  | 1309.974  | 1309.974  | 1309.974      | 1309.974      | 33.3%   | 3     |
+| vm.wait_for_ping            | 6.12      | 6.12      | 6.12      | 6.12          | 6.12          | 33.3%   | 3     |
+| vm.wait_for_ssh             | 15.521    | 15.521    | 15.521    | 15.521        | 15.521        | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1386.92578411
+Full duration: 1431.31325412
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report bf8f2e9f-057d-4508-8c17-83f5bce6d47f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results bf8f2e9f-057d-4508-8c17-83f5bce6d47f
+
+Using task: bf8f2e9f-057d-4508-8c17-83f5bce6d47f
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 837},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 830},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 830}]
+================================================================================
+
+====> {"randread a 4k": [832, 5]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileWAPDQS
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  761a6530-07a7-4c13-a762-43b101635691: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 761a6530-07a7-4c13-a762-43b101635691: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileWAPDQS',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| total  | n/a       | n/a       | n/a       | n/a           | n/a           | 0.0%    | 3     |
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 3648.50037909
+Full duration: 3686.20989418
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 761a6530-07a7-4c13-a762-43b101635691 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 761a6530-07a7-4c13-a762-43b101635691
+
+Using task: 761a6530-07a7-4c13-a762-43b101635691
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 792}]
+================================================================================
+
+====> {"randread a 4k": [792, 0]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filefLD3Yh
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  dba1a475-ebd4-4dd9-a169-adf50f235916: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task dba1a475-ebd4-4dd9-a169-adf50f235916: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filefLD3Yh',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.443     | 1.443     | 1.443     | 1.443         | 1.443         | 33.3%   | 3     |
+| nova.boot_server            | 24.228    | 24.228    | 24.228    | 24.228        | 24.228        | 33.3%   | 3     |
+| nova.delete_server          | 7.419     | 7.419     | 7.419     | 7.419         | 7.419         | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 6.858     | 6.858     | 6.858     | 6.858         | 6.858         | 33.3%   | 3     |
+| total                       | 1365.985  | 1365.985  | 1365.985  | 1365.985      | 1365.985      | 33.3%   | 3     |
+| vm.run_command              | 1300.397  | 1300.397  | 1300.397  | 1300.397      | 1300.397      | 33.3%   | 3     |
+| vm.wait_for_ping            | 4.095     | 4.095     | 4.095     | 4.095         | 4.095         | 33.3%   | 3     |
+| vm.wait_for_ssh             | 15.251    | 15.251    | 15.251    | 15.251        | 15.251        | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1377.69049001
+Full duration: 1442.07523417
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report dba1a475-ebd4-4dd9-a169-adf50f235916 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results dba1a475-ebd4-4dd9-a169-adf50f235916
+
+Using task: dba1a475-ebd4-4dd9-a169-adf50f235916
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 839},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 840},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 836}]
+================================================================================
+
+====> {"randread a 4k": [838, 2]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file2k4Fpx
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e6fc126c-4181-48b5-8726-ccc7fed044e1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task e6fc126c-4181-48b5-8726-ccc7fed044e1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file2k4Fpx',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.144     | 1.241     | 1.415     | 1.365         | 1.39          | 100.0%  | 3     |
+| nova.boot_server            | 13.478    | 17.04     | 19.459    | 19.204        | 19.332        | 100.0%  | 3     |
+| nova.delete_server          | 3.067     | 6.004     | 7.503     | 7.491         | 7.497         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.449     | 3.193     | 6.68      | 5.634         | 6.157         | 100.0%  | 3     |
+| total                       | 89.622    | 158.468   | 193.642   | 193.342       | 193.492       | 100.0%  | 3     |
+| vm.run_command              | 30.693    | 93.141    | 125.044   | 124.773       | 124.908       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.108     | 7.571     | 8.488     | 8.414         | 8.451         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 16.518    | 21.365    | 28.689    | 26.729        | 27.709        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 193.802307129
+Full duration: 242.439230919
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e6fc126c-4181-48b5-8726-ccc7fed044e1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e6fc126c-4181-48b5-8726-ccc7fed044e1
+
+Using task: e6fc126c-4181-48b5-8726-ccc7fed044e1
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88582},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10616},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10683}]
+================================================================================
+
+====> {"read a 4k": [36627, 63631]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file0B0WXF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  9654f802-fee5-47e7-8530-9495d63c046f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 9654f802-fee5-47e7-8530-9495d63c046f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file0B0WXF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.235     | 1.299     | 1.34      | 1.336         | 1.338         | 100.0%  | 3     |
+| nova.boot_server            | 19.008    | 19.951    | 21.544    | 21.096        | 21.32         | 100.0%  | 3     |
+| nova.delete_server          | 2.836     | 2.992     | 3.226     | 3.164         | 3.195         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.303     | 1.33      | 1.381     | 1.366         | 1.373         | 100.0%  | 3     |
+| total                       | 87.279    | 125.067   | 144.84    | 144.488       | 144.664       | 100.0%  | 3     |
+| vm.run_command              | 25.301    | 61.445    | 82.653    | 81.399        | 82.026        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.144     | 6.864     | 8.115     | 7.759         | 7.937         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 19.803    | 21.46     | 23.708    | 23.14         | 23.424        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 144.883944988
+Full duration: 184.122873068
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 9654f802-fee5-47e7-8530-9495d63c046f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 9654f802-fee5-47e7-8530-9495d63c046f
+
+Using task: 9654f802-fee5-47e7-8530-9495d63c046f
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 106996},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22042},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 19383}]
+================================================================================
+
+====> {"read a 4k": [49473, 70475]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file1FwOox
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  43fa9e96-79c9-4892-9ccb-8e7ad245784e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 43fa9e96-79c9-4892-9ccb-8e7ad245784e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file1FwOox',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.193     | 1.316     | 1.491     | 1.445         | 1.468         | 100.0%  | 3     |
+| nova.boot_server            | 14.823    | 18.434    | 21.039    | 20.719        | 20.879        | 100.0%  | 3     |
+| nova.delete_server          | 2.822     | 2.9       | 2.947     | 2.944         | 2.946         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.624     | 1.803     | 1.931     | 1.916         | 1.924         | 100.0%  | 3     |
+| total                       | 86.428    | 103.919   | 116.751   | 115.116       | 115.934       | 100.0%  | 3     |
+| vm.run_command              | 24.751    | 42.033    | 54.662    | 53.067        | 53.864        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.11      | 6.786     | 8.121     | 7.722         | 7.922         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 20.579    | 23.882    | 27.457    | 26.687        | 27.072        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 116.913697958
+Full duration: 147.888878107
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 43fa9e96-79c9-4892-9ccb-8e7ad245784e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 43fa9e96-79c9-4892-9ccb-8e7ad245784e
+
+Using task: 43fa9e96-79c9-4892-9ccb-8e7ad245784e
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 115321},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 60710},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 41443}]
+================================================================================
+
+====> {"read a 4k": [72491, 54195]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileccpwPx
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  faac24eb-1ad9-4e4d-902c-9316fb624e92: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task faac24eb-1ad9-4e4d-902c-9316fb624e92: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileccpwPx',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.142     | 1.343     | 1.501     | 1.478         | 1.49          | 100.0%  | 3     |
+| nova.boot_server            | 14.018    | 15.952    | 18.967    | 18.147        | 18.557        | 100.0%  | 3     |
+| nova.delete_server          | 2.922     | 6.497     | 9.106     | 8.778         | 8.942         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.784     | 8.66      | 11.226    | 10.574        | 10.9          | 100.0%  | 3     |
+| total                       | 211.688   | 338.446   | 404.328   | 403.327       | 403.828       | 100.0%  | 3     |
+| vm.run_command              | 139.012   | 266.073   | 332.981   | 331.631       | 332.306       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.1       | 6.77      | 8.106     | 7.706         | 7.906         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.136    | 16.372    | 20.243    | 19.942        | 20.093        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 404.411870956
+Full duration: 458.33437109
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report faac24eb-1ad9-4e4d-902c-9316fb624e92 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results faac24eb-1ad9-4e4d-902c-9316fb624e92
+
+Using task: faac24eb-1ad9-4e4d-902c-9316fb624e92
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11440},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4462},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4300}]
+================================================================================
+
+====> {"randread a 64k": [6734, 5764]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileXBTf3Q
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  41eb57ab-4f45-4068-b2a5-b91b19407d99: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 41eb57ab-4f45-4068-b2a5-b91b19407d99: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileXBTf3Q',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.236     | 1.432     | 1.531     | 1.531         | 1.531         | 100.0%  | 3     |
+| nova.boot_server            | 18.853    | 19.027    | 19.154    | 19.138        | 19.146        | 100.0%  | 3     |
+| nova.delete_server          | 2.826     | 5.836     | 7.354     | 7.349         | 7.352         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.302     | 3.711     | 6.65      | 5.956         | 6.303         | 100.0%  | 3     |
+| total                       | 193.382   | 196.464   | 198.125   | 198.077       | 198.101       | 100.0%  | 3     |
+| vm.run_command              | 135.143   | 139.62    | 145.372   | 143.967       | 144.669       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.103     | 5.164     | 6.106     | 5.941         | 6.024         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.021    | 13.257    | 16.094    | 15.407        | 15.75         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 198.214734077
+Full duration: 242.906448126
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 41eb57ab-4f45-4068-b2a5-b91b19407d99 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 41eb57ab-4f45-4068-b2a5-b91b19407d99
+
+Using task: 41eb57ab-4f45-4068-b2a5-b91b19407d99
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11428},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11324},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11108}]
+================================================================================
+
+====> {"randread a 64k": [11286, 230]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filetDHODf
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  81235ecd-bc12-49a0-9128-3ac61212aaad: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 81235ecd-bc12-49a0-9128-3ac61212aaad: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filetDHODf',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.214     | 1.286     | 1.386     | 1.361         | 1.374         | 100.0%  | 3     |
+| nova.boot_server            | 19.194    | 21.177    | 23.825    | 23.163        | 23.494        | 100.0%  | 3     |
+| nova.delete_server          | 4.254     | 7.904     | 9.897     | 9.83          | 9.863         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.678     | 6.697     | 6.72      | 6.714         | 6.717         | 100.0%  | 3     |
+| total                       | 502.655   | 554.173   | 593.32    | 587.965       | 590.642       | 100.0%  | 3     |
+| vm.run_command              | 413.605   | 468.431   | 514.57    | 507.079       | 510.824       | 100.0%  | 3     |
+| vm.wait_for_ping            | 8.11      | 8.118     | 8.123     | 8.123         | 8.123         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 22.48     | 27.757    | 36.364    | 33.977        | 35.17         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 593.370666027
+Full duration: 638.603452921
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 81235ecd-bc12-49a0-9128-3ac61212aaad --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 81235ecd-bc12-49a0-9128-3ac61212aaad
+
+Using task: 81235ecd-bc12-49a0-9128-3ac61212aaad
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3349},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2675},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2491}]
+================================================================================
+
+====> {"randread a 64k": [2838, 638]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filelAgYAV
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  0c0ae239-c5ea-4eaa-a651-1fcd26a21f88: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 0c0ae239-c5ea-4eaa-a651-1fcd26a21f88: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filelAgYAV',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.259     | 1.337     | 1.454     | 1.423         | 1.438         | 100.0%  | 3     |
+| nova.boot_server            | 14.557    | 19.286    | 23.522    | 22.774        | 23.148        | 100.0%  | 3     |
+| nova.delete_server          | 2.814     | 2.836     | 2.851     | 2.85          | 2.851         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.363     | 3.341     | 6.556     | 5.666         | 6.111         | 100.0%  | 3     |
+| total                       | 83.142    | 141.783   | 172.361   | 171.858       | 172.109       | 100.0%  | 3     |
+| vm.run_command              | 23.601    | 77.712    | 106.084   | 105.557       | 105.82        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.085     | 4.909     | 6.537     | 6.451         | 6.494         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.29     | 16.823    | 19.49     | 18.93         | 19.21         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 172.433182001
+Full duration: 212.541813135
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 0c0ae239-c5ea-4eaa-a651-1fcd26a21f88 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 0c0ae239-c5ea-4eaa-a651-1fcd26a21f88
+
+Using task: 0c0ae239-c5ea-4eaa-a651-1fcd26a21f88
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 126628},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13667},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13324}]
+================================================================================
+
+====> {"read a 64k": [51206, 92372]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filenMyySI
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2ef621c2-5162-4dde-a2de-c8a038d9b3f7: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 2ef621c2-5162-4dde-a2de-c8a038d9b3f7: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filenMyySI',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 2.776     | 2.835     | 2.907     | 2.89          | 2.898         | 100.0%  | 3     |
+| nova.boot_server            | 18.164    | 18.73     | 19.078    | 19.052        | 19.065        | 100.0%  | 3     |
+| nova.delete_server          | 2.835     | 2.911     | 2.977     | 2.966         | 2.971         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.419     | 1.564     | 1.669     | 1.656         | 1.662         | 100.0%  | 3     |
+| total                       | 69.136    | 70.003    | 71.531    | 71.093        | 71.312        | 100.0%  | 3     |
+| vm.run_command              | 23.977    | 24.701    | 26.142    | 25.71         | 25.926        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.1       | 5.441     | 8.122     | 7.318         | 7.72          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.793     | 9.78      | 10.893    | 10.845        | 10.869        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 71.6028239727
+Full duration: 110.673874855
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2ef621c2-5162-4dde-a2de-c8a038d9b3f7 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2ef621c2-5162-4dde-a2de-c8a038d9b3f7
+
+Using task: 2ef621c2-5162-4dde-a2de-c8a038d9b3f7
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 123174},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 120109},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 109915}]
+================================================================================
+
+====> {"read a 64k": [117732, 9816]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filelUkY5T
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  677eaf77-cf3d-4b03-8c5b-08c3d07cb82f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 677eaf77-cf3d-4b03-8c5b-08c3d07cb82f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filelUkY5T',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.2       | 1.287     | 1.433     | 1.392         | 1.412         | 100.0%  | 3     |
+| nova.boot_server            | 13.811    | 14.668    | 15.117    | 15.108        | 15.113        | 100.0%  | 3     |
+| nova.delete_server          | 2.853     | 2.864     | 2.877     | 2.874         | 2.875         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.317     | 1.401     | 1.45      | 1.447         | 1.448         | 100.0%  | 3     |
+| total                       | 67.23     | 68.047    | 68.562    | 68.519        | 68.541        | 100.0%  | 3     |
+| vm.run_command              | 24.386    | 25.118    | 25.641    | 25.578        | 25.609        | 100.0%  | 3     |
+| vm.wait_for_ping            | 8.104     | 8.111     | 8.115     | 8.115         | 8.115         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.109    | 10.519    | 10.997    | 10.888        | 10.942        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 68.6855070591
+Full duration: 97.0419619083
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 677eaf77-cf3d-4b03-8c5b-08c3d07cb82f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 677eaf77-cf3d-4b03-8c5b-08c3d07cb82f
+
+Using task: 677eaf77-cf3d-4b03-8c5b-08c3d07cb82f
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 119365},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 113428},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 111472}]
+================================================================================
+
+====> {"read a 64k": [114755, 5813]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileA1p800
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e0b3cf13-9c68-4be6-abce-b372f052ea7d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task e0b3cf13-9c68-4be6-abce-b372f052ea7d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileA1p800',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.235     | 1.305     | 1.355     | 1.349         | 1.352         | 100.0%  | 3     |
+| nova.boot_server            | 14.345    | 14.651    | 15.226    | 15.057        | 15.142        | 100.0%  | 3     |
+| nova.delete_server          | 2.817     | 2.867     | 2.964     | 2.935         | 2.95          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.333     | 3.074     | 6.533     | 5.498         | 6.015         | 100.0%  | 3     |
+| total                       | 110.755   | 118.046   | 123.953   | 123.049       | 123.501       | 100.0%  | 3     |
+| vm.run_command              | 61.891    | 67.401    | 70.399    | 70.302        | 70.35         | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.106     | 6.781     | 8.121     | 7.72          | 7.921         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.984    | 11.99     | 13.882    | 13.327        | 13.604        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.124942064
+Full duration: 152.508477926
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e0b3cf13-9c68-4be6-abce-b372f052ea7d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e0b3cf13-9c68-4be6-abce-b372f052ea7d
+
+Using task: e0b3cf13-9c68-4be6-abce-b372f052ea7d
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33276},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 29909},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 29894}]
+================================================================================
+
+====> {"randread a 256k": [31026, 2755]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filemU5Gud
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  19b50a9c-bc7e-41a0-9eb9-04597a0a5111: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 19b50a9c-bc7e-41a0-9eb9-04597a0a5111: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filemU5Gud',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.243     | 1.984     | 3.436     | 3.004         | 3.22          | 100.0%  | 3     |
+| nova.boot_server            | 12.926    | 15.463    | 19.267    | 18.253        | 18.76         | 100.0%  | 3     |
+| nova.delete_server          | 2.829     | 3.487     | 4.737     | 4.368         | 4.553         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.416     | 1.54      | 1.615     | 1.61          | 1.612         | 100.0%  | 3     |
+| total                       | 113.822   | 116.138   | 120.646   | 119.306       | 119.976       | 100.0%  | 3     |
+| vm.run_command              | 60.046    | 61.821    | 65.176    | 64.189        | 64.683        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.36      | 3.522     | 6.109     | 5.706         | 5.908         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.967     | 11.871    | 14.921    | 14.082        | 14.502        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 120.712201834
+Full duration: 153.568017006
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 19b50a9c-bc7e-41a0-9eb9-04597a0a5111 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 19b50a9c-bc7e-41a0-9eb9-04597a0a5111
+
+Using task: 19b50a9c-bc7e-41a0-9eb9-04597a0a5111
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33750},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33702},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 31581}]
+================================================================================
+
+====> {"randread a 256k": [33011, 1751]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filexyDZG7
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f47ebe71-243e-464c-a218-9d7fdc0b6a29: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task f47ebe71-243e-464c-a218-9d7fdc0b6a29: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filexyDZG7',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.262     | 2.975     | 6.307     | 5.317         | 5.812         | 100.0%  | 3     |
+| nova.boot_server            | 12.871    | 18.458    | 23.712    | 22.728        | 23.22         | 100.0%  | 3     |
+| nova.delete_server          | 2.93      | 6.532     | 9.657     | 9.127         | 9.392         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.764     | 4.861     | 6.502     | 6.465         | 6.484         | 100.0%  | 3     |
+| total                       | 300.2     | 306.301   | 317.994   | 314.537       | 316.266       | 100.0%  | 3     |
+| vm.run_command              | 221.472   | 232.391   | 246.787   | 243.212       | 244.999       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.484     | 8.917     | 14.154    | 12.946        | 13.55         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.098    | 19.121    | 22.605    | 22.016        | 22.311        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 318.103396893
+Full duration: 354.616059065
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f47ebe71-243e-464c-a218-9d7fdc0b6a29 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f47ebe71-243e-464c-a218-9d7fdc0b6a29
+
+Using task: f47ebe71-243e-464c-a218-9d7fdc0b6a29
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7387},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7215},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 6417}]
+================================================================================
+
+====> {"randread a 256k": [7006, 731]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filel4clPS
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2487f099-e11f-444a-9a08-b0681640b1eb: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 2487f099-e11f-444a-9a08-b0681640b1eb: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filel4clPS',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.202     | 1.248     | 1.339     | 1.312         | 1.325         | 100.0%  | 3     |
+| nova.boot_server            | 14.076    | 18.525    | 22.033    | 21.519        | 21.776        | 100.0%  | 3     |
+| nova.delete_server          | 2.956     | 2.972     | 2.993     | 2.988         | 2.99          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.412     | 4.772     | 6.454     | 6.453         | 6.454         | 100.0%  | 3     |
+| total                       | 83.782    | 145.711   | 180.6     | 179.03        | 179.815       | 100.0%  | 3     |
+| vm.run_command              | 29.555    | 86.526    | 116.474   | 115.889       | 116.181       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.764     | 3.657     | 8.121     | 6.914         | 7.517         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.959    | 14.142    | 15.286    | 15.265        | 15.276        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 180.660272121
+Full duration: 223.535187006
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2487f099-e11f-444a-9a08-b0681640b1eb --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2487f099-e11f-444a-9a08-b0681640b1eb
+
+Using task: 2487f099-e11f-444a-9a08-b0681640b1eb
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88687},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11938},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11858}]
+================================================================================
+
+====> {"read a 256k": [37494, 62697]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filet4DcuJ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3262cf09-6a75-4a80-9bf2-2f453f68ac35: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 3262cf09-6a75-4a80-9bf2-2f453f68ac35: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filet4DcuJ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.167     | 1.2       | 1.253     | 1.239         | 1.246         | 100.0%  | 3     |
+| nova.boot_server            | 12.851    | 17.93     | 26.91     | 24.334        | 25.622        | 100.0%  | 3     |
+| nova.delete_server          | 2.952     | 3.055     | 3.209     | 3.168         | 3.188         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.305     | 1.325     | 1.363     | 1.352         | 1.358         | 100.0%  | 3     |
+| total                       | 79.637    | 92.172    | 102.623   | 100.949       | 101.786       | 100.0%  | 3     |
+| vm.run_command              | 24.045    | 36.739    | 47.231    | 45.573        | 46.402        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.088     | 5.696     | 8.12      | 7.872         | 7.996         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.707     | 10.804    | 11.858    | 11.656        | 11.757        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 102.670771122
+Full duration: 143.739574194
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3262cf09-6a75-4a80-9bf2-2f453f68ac35 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3262cf09-6a75-4a80-9bf2-2f453f68ac35
+
+Using task: 3262cf09-6a75-4a80-9bf2-2f453f68ac35
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 125308},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83844},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57767}]
+================================================================================
+
+====> {"read a 256k": [88973, 48170]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileFJYv8q
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7401ca4b-45b1-47fa-a27c-6e500a06200e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 7401ca4b-45b1-47fa-a27c-6e500a06200e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileFJYv8q',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.236     | 1.317     | 1.374     | 1.367         | 1.371         | 100.0%  | 3     |
+| nova.boot_server            | 13.134    | 15.347    | 19.741    | 18.425        | 19.083        | 100.0%  | 3     |
+| nova.delete_server          | 2.821     | 2.844     | 2.888     | 2.875         | 2.882         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.355     | 1.398     | 1.462     | 1.445         | 1.453         | 100.0%  | 3     |
+| total                       | 81.116    | 91.235    | 100.941   | 99.082        | 100.012       | 100.0%  | 3     |
+| vm.run_command              | 26.765    | 36.892    | 46.658    | 44.777        | 45.717        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.089     | 6.106     | 8.114     | 8.114         | 8.114         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.705     | 12.102    | 17.79     | 16.194        | 16.992        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 101.056433916
+Full duration: 131.138646841
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7401ca4b-45b1-47fa-a27c-6e500a06200e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7401ca4b-45b1-47fa-a27c-6e500a06200e
+
+Using task: 7401ca4b-45b1-47fa-a27c-6e500a06200e
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 99295},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 78854},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 120068}]
+================================================================================
+
+====> {"read a 256k": [99405, 29143]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filetl8IkX
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  cf30c1fc-294a-4f27-8101-f7ba5bcf7e42: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task cf30c1fc-294a-4f27-8101-f7ba5bcf7e42: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filetl8IkX',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.201     | 1.279     | 1.39      | 1.361         | 1.376         | 100.0%  | 3     |
+| nova.boot_server            | 12.689    | 14.995    | 18.138    | 17.342        | 17.74         | 100.0%  | 3     |
+| nova.delete_server          | 2.835     | 4.464     | 7.405     | 6.554         | 6.98          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.426     | 1.704     | 1.972     | 1.921         | 1.946         | 100.0%  | 3     |
+| total                       | 93.106    | 144.121   | 175.475   | 173.137       | 174.306       | 100.0%  | 3     |
+| vm.run_command              | 39.378    | 85.054    | 111.571   | 110.099       | 110.835       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.107     | 6.779     | 8.119     | 7.718         | 7.918         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.657    | 16.153    | 18.316    | 17.75         | 18.033        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 175.555158138
+Full duration: 215.351285934
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report cf30c1fc-294a-4f27-8101-f7ba5bcf7e42 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results cf30c1fc-294a-4f27-8101-f7ba5bcf7e42
+
+Using task: cf30c1fc-294a-4f27-8101-f7ba5bcf7e42
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 73164},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 18048},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16026}]
+================================================================================
+
+====> {"randread a 1024k": [35746, 45849]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileBOAeBF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  61c88c33-29ba-4968-8983-e0380a4ab120: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 61c88c33-29ba-4968-8983-e0380a4ab120: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileBOAeBF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.402     | 1.431     | 1.462     | 1.455         | 1.458         | 100.0%  | 3     |
+| nova.boot_server            | 13.758    | 16.81     | 18.793    | 18.611        | 18.702        | 100.0%  | 3     |
+| nova.delete_server          | 2.814     | 2.82      | 2.827     | 2.825         | 2.826         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.263     | 1.297     | 1.351     | 1.337         | 1.344         | 100.0%  | 3     |
+| total                       | 116.243   | 175.501   | 215.254   | 211.204       | 213.229       | 100.0%  | 3     |
+| vm.run_command              | 46.12     | 107.112   | 145.225   | 142.178       | 143.701       | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.594     | 4.125     | 5.62      | 5.328         | 5.474         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 17.623    | 24.793    | 35.19     | 32.465        | 33.828        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 215.370319128
+Full duration: 267.899891138
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 61c88c33-29ba-4968-8983-e0380a4ab120 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 61c88c33-29ba-4968-8983-e0380a4ab120
+
+Using task: 61c88c33-29ba-4968-8983-e0380a4ab120
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 65165},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11644},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9707}]
+================================================================================
+
+====> {"randread a 1024k": [28838, 44511]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileR6qYmX
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7a77d868-03eb-4762-8fee-d0ba916f74f5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 7a77d868-03eb-4762-8fee-d0ba916f74f5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileR6qYmX',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.236     | 1.93      | 3.194     | 2.827         | 3.01          | 100.0%  | 3     |
+| nova.boot_server            | 14.373    | 17.935    | 25.045    | 22.913        | 23.979        | 100.0%  | 3     |
+| nova.delete_server          | 2.844     | 6.973     | 10.745    | 10.062        | 10.404        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.367     | 3.063     | 6.425     | 5.419         | 5.922         | 100.0%  | 3     |
+| total                       | 97.745    | 187.137   | 235.351   | 233.944       | 234.648       | 100.0%  | 3     |
+| vm.run_command              | 41.584    | 123.081   | 168.446   | 166.6         | 167.523       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.302     | 3.017     | 6.102     | 5.411         | 5.757         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.868    | 20.314    | 23.808    | 23.299        | 23.553        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 235.511422873
+Full duration: 280.522334099
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7a77d868-03eb-4762-8fee-d0ba916f74f5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7a77d868-03eb-4762-8fee-d0ba916f74f5
+
+Using task: 7a77d868-03eb-4762-8fee-d0ba916f74f5
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 71314},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8968},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8379}]
+================================================================================
+
+====> {"randread a 1024k": [29553, 51147]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJBfL55
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c50bd167-c5d5-4b5f-bd7b-9d21b62205e9: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task c50bd167-c5d5-4b5f-bd7b-9d21b62205e9: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJBfL55',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.154     | 1.173     | 1.189     | 1.186         | 1.188         | 100.0%  | 3     |
+| nova.boot_server            | 19.983    | 30.468    | 38.68     | 37.492        | 38.086        | 100.0%  | 3     |
+| nova.delete_server          | 2.806     | 6.226     | 8.499     | 8.273         | 8.386         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.31      | 6.387     | 6.522     | 6.483         | 6.502         | 100.0%  | 3     |
+| total                       | 245.766   | 258.253   | 269.035   | 267.22        | 268.128       | 100.0%  | 3     |
+| vm.run_command              | 157.947   | 169.567   | 177.614   | 176.719       | 177.167       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.104     | 10.127    | 16.152    | 14.546        | 15.349        | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.25     | 15.33     | 19.323    | 18.542        | 18.932        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 269.178753138
+Full duration: 315.973973036
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c50bd167-c5d5-4b5f-bd7b-9d21b62205e9 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c50bd167-c5d5-4b5f-bd7b-9d21b62205e9
+
+Using task: c50bd167-c5d5-4b5f-bd7b-9d21b62205e9
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8680},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8318},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7561}]
+================================================================================
+
+====> {"read a 1024k": [8186, 807]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filesWvyYt
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  bf38fa9e-6fff-4418-b4e9-54a6a967689a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task bf38fa9e-6fff-4418-b4e9-54a6a967689a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filesWvyYt',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.173     | 1.259     | 1.343     | 1.326         | 1.334         | 100.0%  | 3     |
+| nova.boot_server            | 17.969    | 20.64     | 25.741    | 24.235        | 24.988        | 100.0%  | 3     |
+| nova.delete_server          | 2.836     | 3.54      | 4.814     | 4.445         | 4.63          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.376     | 1.392     | 1.402     | 1.401         | 1.401         | 100.0%  | 3     |
+| total                       | 87.054    | 96.856    | 106.03    | 104.321       | 105.176       | 100.0%  | 3     |
+| vm.run_command              | 24.968    | 37.469    | 48.948    | 46.856        | 47.902        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.111     | 6.626     | 6.92      | 6.905         | 6.913         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.516    | 14.568    | 16.124    | 15.712        | 15.918        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 106.190882921
+Full duration: 147.456212997
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report bf38fa9e-6fff-4418-b4e9-54a6a967689a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results bf38fa9e-6fff-4418-b4e9-54a6a967689a
+
+Using task: bf38fa9e-6fff-4418-b4e9-54a6a967689a
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 114810},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 74344},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 103597}]
+================================================================================
+
+====> {"read a 1024k": [97583, 29546]}
+
+================================================================================
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileXSsvrd
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5b3e2a10-39d0-46a5-a37a-4f123f4ec532: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+
+--------------------------------------------------------------------------------
+Task 5b3e2a10-39d0-46a5-a37a-4f123f4ec532: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileXSsvrd',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.266     | 1.321     | 1.413     | 1.388         | 1.4           | 100.0%  | 3     |
+| nova.boot_server            | 13.318    | 15.38     | 18.984    | 17.955        | 18.469        | 100.0%  | 3     |
+| nova.delete_server          | 2.812     | 3.377     | 3.904     | 3.806         | 3.855         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.294     | 1.378     | 1.489     | 1.462         | 1.475         | 100.0%  | 3     |
+| total                       | 80.157    | 89.798    | 100.571   | 98.191        | 99.381        | 100.0%  | 3     |
+| vm.run_command              | 28.551    | 38.764    | 49.424    | 47.203        | 48.314        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.338     | 8.847     | 10.612    | 10.408        | 10.51         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.792     | 12.342    | 16.715    | 15.676        | 16.196        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 100.66982007
+Full duration: 130.776281118
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5b3e2a10-39d0-46a5-a37a-4f123f4ec532 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5b3e2a10-39d0-46a5-a37a-4f123f4ec532
+
+Using task: 5b3e2a10-39d0-46a5-a37a-4f123f4ec532
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 97877},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 97038},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 64260}]
+================================================================================
+
+====> {"read a 1024k": [86391, 27112]}
+
+================================================================================
diff --git a/results/results_perf_2_fio.txt b/results/results_perf_2_fio.txt
new file mode 100644
index 0000000..a3feac1
--- /dev/null
+++ b/results/results_perf_2_fio.txt
@@ -0,0 +1,2359 @@
++ set -e
++ type=fio
++ bsizes='1k 4k 64k 256k 1m'
++ ops='randwrite write'
++ osync='s a'
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:34:14 14729 >>>> Start rally with opts 'task start /tmp/fileuK0u9F --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileLIDbj4
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1ed2a9f8-97d6-4687-ae27-68dd3ca357f3: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:35:44 15144 >>>> Start io test
+21:35:44 15144 >>>> Ready and waiting on barrier. Will wait at most 210 seconds
+21:35:46 15146 >>>> Start io test
+21:35:46 15146 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+21:35:52 15145 >>>> Start io test
+21:35:52 15145 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+21:36:32 15144 >>>> Test finished
+21:36:53 15145 >>>> Test finished
+21:36:53 15146 >>>> Test finished
+2015-02-07 21:37:15.615 14729 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1cb32bd4-fe6b-4e6f-9de6-3dfe9a637eb3.
+
+--------------------------------------------------------------------------------
+Task 1ed2a9f8-97d6-4687-ae27-68dd3ca357f3: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileLIDbj4',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.569     | 3.153     | 6.15      | 5.268         | 5.709         | 100.0%  | 3     |
+| nova.boot_server            | 17.671    | 24.829    | 32.186    | 30.674        | 31.43         | 100.0%  | 3     |
+| nova.delete_server          | 2.841     | 4.373     | 7.403     | 6.498         | 6.95          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.354     | 3.055     | 6.356     | 5.376         | 5.866         | 100.0%  | 3     |
+| total                       | 104.478   | 121.334   | 129.93    | 129.862       | 129.896       | 100.0%  | 3     |
+| vm.run_command              | 39.808    | 53.36     | 60.148    | 60.143        | 60.146        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.488     | 3.091     | 8.112     | 6.624         | 7.368         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.111     | 15.346    | 20.47     | 19.667        | 20.069        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.990489006
+Full duration: 178.658591032
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1ed2a9f8-97d6-4687-ae27-68dd3ca357f3 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1ed2a9f8-97d6-4687-ae27-68dd3ca357f3
+
+Using task: 1ed2a9f8-97d6-4687-ae27-68dd3ca357f3
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14.61},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9.02},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9.01}]
+================================================================================
+
+====> {"randwrite s 1k": [10, 4]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:37:18 15531 >>>> Start rally with opts 'task start /tmp/fileOXFWUo --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileXjUhWi
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a6d73e0d-7065-439f-a741-5abef299ab4b: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:38:07 15822 >>>> Start io test
+21:38:07 15822 >>>> Ready and waiting on barrier. Will wait at most 251 seconds
+21:38:13 15824 >>>> Start io test
+21:38:13 15824 >>>> Ready and waiting on barrier. Will wait at most 245 seconds
+21:38:17 15823 >>>> Start io test
+21:38:17 15823 >>>> Ready and waiting on barrier. Will wait at most 241 seconds
+21:38:56 15822 >>>> Test finished
+21:39:23 15824 >>>> Test finished
+21:39:24 15823 >>>> Test finished
+2015-02-07 21:39:46.435 15531 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 54bf9f13-9729-4438-8811-927624660f74.
+
+--------------------------------------------------------------------------------
+Task a6d73e0d-7065-439f-a741-5abef299ab4b: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileXjUhWi',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.263     | 1.344     | 1.454     | 1.426         | 1.44          | 100.0%  | 3     |
+| nova.boot_server            | 13.011    | 15.126    | 18.155    | 17.366        | 17.76         | 100.0%  | 3     |
+| nova.delete_server          | 2.829     | 2.887     | 2.996     | 2.964         | 2.98          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.315     | 1.426     | 1.514     | 1.501         | 1.507         | 100.0%  | 3     |
+| total                       | 87.945    | 108.429   | 121.235   | 120.209       | 120.722       | 100.0%  | 3     |
+| vm.run_command              | 38.861    | 57.445    | 66.787    | 66.767        | 66.777        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.087     | 7.091     | 8.104     | 7.9           | 8.002         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.858     | 13.185    | 15.468    | 15.22         | 15.344        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 121.379390955
+Full duration: 144.809705019
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a6d73e0d-7065-439f-a741-5abef299ab4b --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a6d73e0d-7065-439f-a741-5abef299ab4b
+
+Using task: a6d73e0d-7065-439f-a741-5abef299ab4b
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14.97},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7.9},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7.89}]
+================================================================================
+
+====> {"randwrite s 1k": [10, 5]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:39:49 16523 >>>> Start rally with opts 'task start /tmp/filelL413E --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filegni37f
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1ad850ae-7319-4182-8e08-eddfe9a69339: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:40:46 16735 >>>> Start io test
+21:40:46 16735 >>>> Ready and waiting on barrier. Will wait at most 243 seconds
+21:40:51 16736 >>>> Start io test
+21:40:51 16736 >>>> Ready and waiting on barrier. Will wait at most 238 seconds
+21:40:57 16734 >>>> Start io test
+21:40:57 16734 >>>> Ready and waiting on barrier. Will wait at most 232 seconds
+21:41:37 16735 >>>> Test finished
+21:41:55 16734 >>>> Test finished
+21:41:55 16736 >>>> Test finished
+2015-02-07 21:42:19.990 16523 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 000b56af-9c1a-4ac5-9999-b0bb07d0d0a3.
+
+--------------------------------------------------------------------------------
+Task 1ad850ae-7319-4182-8e08-eddfe9a69339: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filegni37f',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.207     | 2.96      | 6.265     | 5.294         | 5.779         | 100.0%  | 3     |
+| nova.boot_server            | 14.293    | 15.685    | 18.328    | 17.549        | 17.938        | 100.0%  | 3     |
+| nova.delete_server          | 2.908     | 3.651     | 5.088     | 4.661         | 4.874         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.337     | 1.447     | 1.57      | 1.543         | 1.557         | 100.0%  | 3     |
+| total                       | 98.22     | 110.633   | 118.046   | 117.563       | 117.805       | 100.0%  | 3     |
+| vm.run_command              | 40.197    | 52.029    | 58.096    | 58.035        | 58.065        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.34      | 2.172     | 4.093     | 3.691         | 3.892         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 16.417    | 18.542    | 20.629    | 20.219        | 20.424        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 118.154501915
+Full duration: 147.173413038
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1ad850ae-7319-4182-8e08-eddfe9a69339 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1ad850ae-7319-4182-8e08-eddfe9a69339
+
+Using task: 1ad850ae-7319-4182-8e08-eddfe9a69339
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14.46},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9.22},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9.27}]
+================================================================================
+
+====> {"randwrite s 1k": [10, 4]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:42:23 17601 >>>> Start rally with opts 'task start /tmp/fileLmIt9q --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filekE2NaE
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f8e97301-b830-46b5-86ff-d6837aa5ae3a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:43:15 17806 >>>> Start io test
+21:43:15 17806 >>>> Ready and waiting on barrier. Will wait at most 248 seconds
+21:43:18 17807 >>>> Start io test
+21:43:18 17807 >>>> Ready and waiting on barrier. Will wait at most 244 seconds
+21:43:26 17808 >>>> Start io test
+21:43:26 17808 >>>> Ready and waiting on barrier. Will wait at most 236 seconds
+21:44:04 17806 >>>> Test finished
+21:44:31 17808 >>>> Test finished
+21:44:32 17807 >>>> Test finished
+2015-02-07 21:44:54.381 17601 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 9629a03f-04f8-4d27-a0a8-4125932ed534.
+
+--------------------------------------------------------------------------------
+Task f8e97301-b830-46b5-86ff-d6837aa5ae3a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filekE2NaE',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.266     | 1.305     | 1.361     | 1.347         | 1.354         | 100.0%  | 3     |
+| nova.boot_server            | 13.805    | 15.526    | 17.642    | 17.14         | 17.391        | 100.0%  | 3     |
+| nova.delete_server          | 2.819     | 2.86      | 2.932     | 2.911         | 2.922         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.419     | 3.09      | 6.394     | 5.406         | 5.9           | 100.0%  | 3     |
+| total                       | 92.548    | 112.39    | 125.197   | 124.043       | 124.62        | 100.0%  | 3     |
+| vm.run_command              | 37.987    | 56.262    | 65.797    | 65.638        | 65.718        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.103     | 7.438     | 8.108     | 8.107         | 8.107         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.775     | 14.764    | 19.774    | 18.768        | 19.271        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 125.276747942
+Full duration: 148.0625
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f8e97301-b830-46b5-86ff-d6837aa5ae3a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f8e97301-b830-46b5-86ff-d6837aa5ae3a
+
+Using task: f8e97301-b830-46b5-86ff-d6837aa5ae3a
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15.46},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8.04},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8.05}]
+================================================================================
+
+====> {"write s 1k": [10, 6]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:44:57 18577 >>>> Start rally with opts 'task start /tmp/filez5HHpF --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file4NxN1r
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  68d62668-95dc-4251-b562-f102cdfc0321: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:45:52 18798 >>>> Start io test
+21:45:52 18798 >>>> Ready and waiting on barrier. Will wait at most 245 seconds
+21:46:06 18799 >>>> Start io test
+21:46:06 18799 >>>> Ready and waiting on barrier. Will wait at most 231 seconds
+21:46:13 18800 >>>> Start io test
+21:46:13 18800 >>>> Ready and waiting on barrier. Will wait at most 224 seconds
+21:47:27 18800 >>>> Test finished
+21:47:27 18799 >>>> Test finished
+21:47:28 18798 >>>> Test finished
+2015-02-07 21:47:52.132 18577 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 19fe6539-06d0-40c3-b03f-214f9bbc57cf.
+
+--------------------------------------------------------------------------------
+Task 68d62668-95dc-4251-b562-f102cdfc0321: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file4NxN1r',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.191     | 1.22      | 1.256     | 1.247         | 1.252         | 100.0%  | 3     |
+| nova.boot_server            | 13.43     | 19.63     | 25.886    | 24.624        | 25.255        | 100.0%  | 3     |
+| nova.delete_server          | 2.983     | 4.463     | 5.297     | 5.26          | 5.278         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.321     | 1.527     | 1.675     | 1.658         | 1.666         | 100.0%  | 3     |
+| total                       | 141.303   | 142.975   | 143.834   | 143.825       | 143.829       | 100.0%  | 3     |
+| vm.run_command              | 73.745    | 74.133    | 74.477    | 74.417        | 74.447        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.104     | 8.107     | 10.11     | 9.709         | 9.91          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.31     | 19.188    | 21.329    | 21.248        | 21.288        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 143.929949045
+Full duration: 171.874162912
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 68d62668-95dc-4251-b562-f102cdfc0321 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 68d62668-95dc-4251-b562-f102cdfc0321
+
+Using task: 68d62668-95dc-4251-b562-f102cdfc0321
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 6.91},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 6.93},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 6.95}]
+================================================================================
+
+====> {"write s 1k": [6, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:47:55 19613 >>>> Start rally with opts 'task start /tmp/filed9ch3x --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file6QLhd5
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2cc906d1-0152-4aee-aee8-52979a60325f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:48:56 19815 >>>> Start io test
+21:48:56 19815 >>>> Ready and waiting on barrier. Will wait at most 238 seconds
+21:49:02 19816 >>>> Start io test
+21:49:02 19816 >>>> Ready and waiting on barrier. Will wait at most 232 seconds
+21:49:05 19817 >>>> Start io test
+21:49:05 19817 >>>> Ready and waiting on barrier. Will wait at most 230 seconds
+21:49:43 19815 >>>> Test finished
+21:50:04 19816 >>>> Test finished
+21:50:04 19817 >>>> Test finished
+2015-02-07 21:50:23.886 19613 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e7c5d380-d47d-416c-a1bf-931807597096.
+
+--------------------------------------------------------------------------------
+Task 2cc906d1-0152-4aee-aee8-52979a60325f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file6QLhd5',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.168     | 1.187     | 1.207     | 1.203         | 1.205         | 100.0%  | 3     |
+| nova.boot_server            | 13.948    | 17.049    | 19.184    | 18.95         | 19.067        | 100.0%  | 3     |
+| nova.delete_server          | 2.844     | 3.61      | 5.057     | 4.631         | 4.844         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.375     | 1.449     | 1.57      | 1.536         | 1.553         | 100.0%  | 3     |
+| total                       | 99.456    | 114.025   | 122.533   | 122.044       | 122.288       | 100.0%  | 3     |
+| vm.run_command              | 38.511    | 52.311    | 59.252    | 59.236        | 59.244        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.391     | 5.531     | 8.108     | 8.105         | 8.107         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 20.609    | 23.397    | 27.952    | 26.687        | 27.32         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 122.689782858
+Full duration: 145.668579102
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2cc906d1-0152-4aee-aee8-52979a60325f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2cc906d1-0152-4aee-aee8-52979a60325f
+
+Using task: 2cc906d1-0152-4aee-aee8-52979a60325f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15.31},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9.23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9.07}]
+================================================================================
+
+====> {"write s 1k": [11, 5]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:50:27 20573 >>>> Start rally with opts 'task start /tmp/filelIMB5x --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileMxZWPK
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  101c7f31-8256-4b6e-a7c5-d7613ff01e4e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:51:21 20792 >>>> Start io test
+21:51:21 20792 >>>> Ready and waiting on barrier. Will wait at most 245 seconds
+21:51:26 20791 >>>> Start io test
+21:51:26 20791 >>>> Ready and waiting on barrier. Will wait at most 241 seconds
+21:51:31 20790 >>>> Start io test
+21:51:31 20790 >>>> Ready and waiting on barrier. Will wait at most 235 seconds
+21:51:58 20792 >>>> Test finished
+21:52:36 20791 >>>> Test finished
+21:52:36 20790 >>>> Test finished
+2015-02-07 21:52:58.649 20573 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6cbb0822-4d4e-418f-acdc-53694567bac3.
+
+--------------------------------------------------------------------------------
+Task 101c7f31-8256-4b6e-a7c5-d7613ff01e4e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileMxZWPK',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.138     | 1.208     | 1.257     | 1.252         | 1.254         | 100.0%  | 3     |
+| nova.boot_server            | 14.028    | 17.4      | 19.234    | 19.175        | 19.204        | 100.0%  | 3     |
+| nova.delete_server          | 2.822     | 2.853     | 2.874     | 2.872         | 2.873         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.374     | 1.462     | 1.571     | 1.545         | 1.558         | 100.0%  | 3     |
+| total                       | 81.496    | 106.915   | 120.036   | 119.872       | 119.954       | 100.0%  | 3     |
+| vm.run_command              | 26.668    | 52.084    | 65.117    | 64.987        | 65.052        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.395     | 5.809     | 6.929     | 6.764         | 6.847         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.92     | 15.315    | 16.551    | 16.336        | 16.443        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 120.181635857
+Full duration: 148.770670176
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 101c7f31-8256-4b6e-a7c5-d7613ff01e4e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 101c7f31-8256-4b6e-a7c5-d7613ff01e4e
+
+Using task: 101c7f31-8256-4b6e-a7c5-d7613ff01e4e
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 98.9},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 34.88},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 34.39}]
+================================================================================
+
+====> {"randwrite s 4k": [56, 52]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:53:02 21592 >>>> Start rally with opts 'task start /tmp/fileOqQ998 --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileqRzYyU
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  cc078dc0-9c80-423e-a350-17d7508b777f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:53:57 21811 >>>> Start io test
+21:53:57 21811 >>>> Ready and waiting on barrier. Will wait at most 244 seconds
+21:54:01 21809 >>>> Start io test
+21:54:01 21809 >>>> Ready and waiting on barrier. Will wait at most 240 seconds
+21:54:08 21810 >>>> Start io test
+21:54:08 21810 >>>> Ready and waiting on barrier. Will wait at most 233 seconds
+21:54:49 21811 >>>> Test finished
+21:55:14 21810 >>>> Test finished
+21:55:14 21809 >>>> Test finished
+2015-02-07 21:55:44.012 21592 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1529dc5e-fa9b-451b-87a3-33da298ad7b5.
+
+--------------------------------------------------------------------------------
+Task cc078dc0-9c80-423e-a350-17d7508b777f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileqRzYyU',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.211     | 1.29      | 1.368     | 1.353         | 1.36          | 100.0%  | 3     |
+| nova.boot_server            | 12.892    | 15.114    | 18.042    | 17.315        | 17.678        | 100.0%  | 3     |
+| nova.delete_server          | 2.946     | 6.772     | 9.992     | 9.469         | 9.731         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.302     | 1.381     | 1.476     | 1.454         | 1.465         | 100.0%  | 3     |
+| total                       | 97.01     | 113.351   | 125.062   | 123.646       | 124.354       | 100.0%  | 3     |
+| vm.run_command              | 40.971    | 57.878    | 66.4      | 66.373        | 66.386        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.085     | 6.103     | 8.114     | 8.113         | 8.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.149    | 13.584    | 16.356    | 15.734        | 16.045        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 125.181915045
+Full duration: 159.375625849
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report cc078dc0-9c80-423e-a350-17d7508b777f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results cc078dc0-9c80-423e-a350-17d7508b777f
+
+Using task: cc078dc0-9c80-423e-a350-17d7508b777f
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 57.75},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33.43},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 33.49}]
+================================================================================
+
+====> {"randwrite s 4k": [41, 19]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:55:47 22654 >>>> Start rally with opts 'task start /tmp/filexMHr3S --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file3TC7aQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  eac63891-3413-4190-b0a9-145b9e384984: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:56:40 22855 >>>> Start io test
+21:56:40 22855 >>>> Ready and waiting on barrier. Will wait at most 247 seconds
+21:56:42 22856 >>>> Start io test
+21:56:42 22856 >>>> Ready and waiting on barrier. Will wait at most 245 seconds
+21:56:46 22857 >>>> Start io test
+21:56:46 22857 >>>> Ready and waiting on barrier. Will wait at most 241 seconds
+21:57:13 22855 >>>> Test finished
+21:57:54 22856 >>>> Test finished
+21:57:54 22857 >>>> Test finished
+2015-02-07 21:58:11.746 22654 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: f2ea3a5a-7a50-4872-99fb-9bdc0556f058.
+
+--------------------------------------------------------------------------------
+Task eac63891-3413-4190-b0a9-145b9e384984: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file3TC7aQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.163     | 1.327     | 1.508     | 1.469         | 1.488         | 100.0%  | 3     |
+| nova.boot_server            | 12.826    | 15.03     | 18.258    | 17.408        | 17.833        | 100.0%  | 3     |
+| nova.delete_server          | 2.853     | 4.398     | 7.47      | 6.55          | 7.01          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.418     | 1.5       | 1.576     | 1.562         | 1.569         | 100.0%  | 3     |
+| total                       | 82.036    | 105.972   | 118.211   | 118.102       | 118.156       | 100.0%  | 3     |
+| vm.run_command              | 27.245    | 54.262    | 67.989    | 67.902        | 67.945        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.091     | 7.431     | 8.106     | 8.104         | 8.105         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.234    | 13.939    | 14.509    | 14.422        | 14.465        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 118.334066868
+Full duration: 141.714344025
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report eac63891-3413-4190-b0a9-145b9e384984 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results eac63891-3413-4190-b0a9-145b9e384984
+
+Using task: eac63891-3413-4190-b0a9-145b9e384984
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 96.46},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 32.72},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 32.72}]
+================================================================================
+
+====> {"randwrite s 4k": [53, 52]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+21:58:15 23656 >>>> Start rally with opts 'task start /tmp/file7ZMmni --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filevVMGL3
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c6f154e2-3b6f-4acf-839b-9e60c88d081b: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+21:59:09 23851 >>>> Start io test
+21:59:09 23851 >>>> Ready and waiting on barrier. Will wait at most 246 seconds
+21:59:10 23850 >>>> Start io test
+21:59:10 23850 >>>> Ready and waiting on barrier. Will wait at most 244 seconds
+21:59:20 23852 >>>> Start io test
+21:59:20 23852 >>>> Ready and waiting on barrier. Will wait at most 234 seconds
+21:59:58 23851 >>>> Test finished
+22:00:21 23850 >>>> Test finished
+22:00:21 23852 >>>> Test finished
+2015-02-07 22:00:38.164 23656 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d9d1c814-ec76-4001-988b-870c78b2515c.
+
+--------------------------------------------------------------------------------
+Task c6f154e2-3b6f-4acf-839b-9e60c88d081b: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filevVMGL3',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.243     | 1.274     | 1.327     | 1.312         | 1.32          | 100.0%  | 3     |
+| nova.boot_server            | 12.758    | 14.458    | 16.637    | 16.106        | 16.372        | 100.0%  | 3     |
+| nova.delete_server          | 2.812     | 2.833     | 2.87      | 2.859         | 2.865         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.338     | 1.427     | 1.484     | 1.479         | 1.481         | 100.0%  | 3     |
+| total                       | 99.326    | 111.11    | 117.249   | 117.15        | 117.2         | 100.0%  | 3     |
+| vm.run_command              | 38.347    | 53.317    | 60.99     | 60.915        | 60.953        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.086     | 7.422     | 8.091     | 8.09          | 8.09          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.735    | 16.165    | 16.956    | 16.725        | 16.84         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 117.323441029
+Full duration: 140.280912161
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c6f154e2-3b6f-4acf-839b-9e60c88d081b --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c6f154e2-3b6f-4acf-839b-9e60c88d081b
+
+Using task: c6f154e2-3b6f-4acf-839b-9e60c88d081b
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 62.53},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 36.73},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 36.69}]
+================================================================================
+
+====> {"write s 4k": [45, 21]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+22:00:41 24652 >>>> Start rally with opts 'task start /tmp/fileDugEjd --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileXvSf6P
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  022ade7c-dbbc-4c3d-a2fb-c0b8fd8d2293: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:01:37 24848 >>>> Start io test
+22:01:37 24848 >>>> Ready and waiting on barrier. Will wait at most 244 seconds
+22:01:51 24849 >>>> Start io test
+22:01:51 24849 >>>> Ready and waiting on barrier. Will wait at most 230 seconds
+22:01:55 24847 >>>> Start io test
+22:01:55 24847 >>>> Ready and waiting on barrier. Will wait at most 226 seconds
+22:03:19 24848 >>>> Test finished
+22:03:20 24847 >>>> Test finished
+22:03:20 24849 >>>> Test finished
+2015-02-07 22:03:47.311 24652 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 29013728-0259-4110-91f1-2d62153e9890.
+
+--------------------------------------------------------------------------------
+Task 022ade7c-dbbc-4c3d-a2fb-c0b8fd8d2293: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileXvSf6P',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.152     | 1.212     | 1.31      | 1.283         | 1.296         | 100.0%  | 3     |
+| nova.boot_server            | 14.09     | 20.322    | 24.496    | 24.073        | 24.284        | 100.0%  | 3     |
+| nova.delete_server          | 2.808     | 2.848     | 2.886     | 2.879         | 2.882         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.333     | 3.008     | 6.339     | 5.341         | 5.84          | 100.0%  | 3     |
+| total                       | 153.679   | 154.191   | 154.605   | 154.542       | 154.573       | 100.0%  | 3     |
+| vm.run_command              | 84.288    | 84.743    | 85.167    | 85.088        | 85.128        | 100.0%  | 3     |
+| vm.wait_for_ping            | 8.109     | 11.447    | 14.116    | 13.716        | 13.916        | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.127    | 15.668    | 16.448    | 16.444        | 16.446        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 154.710098028
+Full duration: 182.993360043
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 022ade7c-dbbc-4c3d-a2fb-c0b8fd8d2293 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 022ade7c-dbbc-4c3d-a2fb-c0b8fd8d2293
+
+Using task: 022ade7c-dbbc-4c3d-a2fb-c0b8fd8d2293
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25.34},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25.69},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25.69}]
+================================================================================
+
+====> {"write s 4k": [25, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+22:03:50 25842 >>>> Start rally with opts 'task start /tmp/fileKtxAY5 --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileQvU1x4
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  49094658-3b1c-4b01-8b78-6201b60ca76f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:04:53 26080 >>>> Start io test
+22:04:53 26080 >>>> Ready and waiting on barrier. Will wait at most 237 seconds
+22:05:04 26078 >>>> Start io test
+22:05:04 26078 >>>> Ready and waiting on barrier. Will wait at most 226 seconds
+22:05:05 26079 >>>> Start io test
+22:05:05 26079 >>>> Ready and waiting on barrier. Will wait at most 225 seconds
+22:06:24 26080 >>>> Test finished
+22:06:25 26078 >>>> Test finished
+22:06:25 26079 >>>> Test finished
+2015-02-07 22:07:02.332 25842 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e3a5b020-587a-4f17-b783-55bfc800aec0.
+
+--------------------------------------------------------------------------------
+Task 49094658-3b1c-4b01-8b78-6201b60ca76f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileQvU1x4',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.164     | 2.851     | 6.119     | 5.15          | 5.634         | 100.0%  | 3     |
+| nova.boot_server            | 18.093    | 22.803    | 25.713    | 25.491        | 25.602        | 100.0%  | 3     |
+| nova.delete_server          | 2.804     | 3.578     | 5.102     | 4.648         | 4.875         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.422     | 3.118     | 6.439     | 5.45          | 5.945         | 100.0%  | 3     |
+| total                       | 145.176   | 149.44    | 155.602   | 153.99        | 154.796       | 100.0%  | 3     |
+| vm.run_command              | 79.345    | 79.622    | 79.953    | 79.875        | 79.914        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.481     | 5.806     | 8.849     | 8.297         | 8.573         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 20.77     | 21.881    | 22.449    | 22.444        | 22.447        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 155.70561409
+Full duration: 189.023550034
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 49094658-3b1c-4b01-8b78-6201b60ca76f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 49094658-3b1c-4b01-8b78-6201b60ca76f
+
+Using task: 49094658-3b1c-4b01-8b78-6201b60ca76f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 27.04},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 27.57},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 27.4}]
+================================================================================
+
+====> {"write s 4k": [27, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+22:07:06 27064 >>>> Start rally with opts 'task start /tmp/fileDZl5Pz --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedS9zuH
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  75b8c1aa-10a7-4c41-9610-657c77cd2b49: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:08:07 27299 >>>> Start io test
+22:08:07 27299 >>>> Ready and waiting on barrier. Will wait at most 238 seconds
+22:08:20 27300 >>>> Start io test
+22:08:20 27300 >>>> Ready and waiting on barrier. Will wait at most 225 seconds
+22:08:27 27298 >>>> Start io test
+22:08:27 27298 >>>> Ready and waiting on barrier. Will wait at most 218 seconds
+22:10:27 27299 >>>> Test finished
+22:10:28 27300 >>>> Test finished
+22:10:29 27298 >>>> Test finished
+2015-02-07 22:11:18.509 27064 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 16e336eb-926b-4aa1-8bae-97209612a86b.
+
+--------------------------------------------------------------------------------
+Task 75b8c1aa-10a7-4c41-9610-657c77cd2b49: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedS9zuH',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.116     | 1.175     | 1.276     | 1.247         | 1.262         | 100.0%  | 3     |
+| nova.boot_server            | 12.67     | 19.034    | 24.136    | 23.368        | 23.752        | 100.0%  | 3     |
+| nova.delete_server          | 7.325     | 8.173     | 9.746     | 9.286         | 9.516         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.306     | 6.39      | 6.488     | 6.465         | 6.477         | 100.0%  | 3     |
+| total                       | 197.478   | 199.62    | 201.057   | 200.91        | 200.983       | 100.0%  | 3     |
+| vm.run_command              | 120.425   | 121.374   | 122.161   | 122.036       | 122.098       | 100.0%  | 3     |
+| vm.wait_for_ping            | 8.094     | 12.321    | 16.758    | 15.829        | 16.294        | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.316    | 16.508    | 17.428    | 17.299        | 17.363        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 201.085799217
+Full duration: 250.051472902
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 75b8c1aa-10a7-4c41-9610-657c77cd2b49 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 75b8c1aa-10a7-4c41-9610-657c77cd2b49
+
+Using task: 75b8c1aa-10a7-4c41-9610-657c77cd2b49
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 282.27},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 282.73},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 280.68}]
+================================================================================
+
+====> {"randwrite s 64k": [281, 1]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+22:11:22 28562 >>>> Start rally with opts 'task start /tmp/file8WiyzI --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileCRgz2P
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  879d542d-d560-4cda-a0db-14a22d88b107: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:12:32 28784 >>>> Start io test
+22:12:32 28784 >>>> Ready and waiting on barrier. Will wait at most 229 seconds
+22:12:34 28783 >>>> Start io test
+22:12:34 28783 >>>> Ready and waiting on barrier. Will wait at most 227 seconds
+22:12:38 28782 >>>> Start io test
+22:12:38 28782 >>>> Ready and waiting on barrier. Will wait at most 223 seconds
+22:13:32 28784 >>>> Test finished
+22:14:14 28782 >>>> Test finished
+22:14:15 28783 >>>> Test finished
+2015-02-07 22:14:42.575 28562 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6384d3da-d8c3-43de-a74d-b300c52fbbb1.
+
+--------------------------------------------------------------------------------
+Task 879d542d-d560-4cda-a0db-14a22d88b107: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileCRgz2P',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.215     | 1.242     | 1.271     | 1.265         | 1.268         | 100.0%  | 3     |
+| nova.boot_server            | 13.002    | 17.701    | 21.035    | 20.641        | 20.838        | 100.0%  | 3     |
+| nova.delete_server          | 2.814     | 2.903     | 3.029     | 2.996         | 3.012         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.387     | 1.553     | 1.648     | 1.643         | 1.645         | 100.0%  | 3     |
+| total                       | 111.688   | 139.782   | 154.001   | 153.932       | 153.966       | 100.0%  | 3     |
+| vm.run_command              | 53.925    | 81.986    | 96.179    | 96.114        | 96.146        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.08      | 6.098     | 8.11      | 8.109         | 8.109         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 14.743    | 19.73     | 22.68     | 22.498        | 22.589        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 154.096227884
+Full duration: 197.944721937
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 879d542d-d560-4cda-a0db-14a22d88b107 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 879d542d-d560-4cda-a0db-14a22d88b107
+
+Using task: 879d542d-d560-4cda-a0db-14a22d88b107
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 680.01},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 361.99},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 357.15}]
+================================================================================
+
+====> {"randwrite s 64k": [466, 261]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+22:14:46 29616 >>>> Start rally with opts 'task start /tmp/file0juwFt --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileKRIXMq
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a8879aa2-10ef-4a6a-a6f1-6a12478682e6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:15:53 29856 >>>> Start io test
+22:15:53 29856 >>>> Ready and waiting on barrier. Will wait at most 233 seconds
+22:15:58 29854 >>>> Start io test
+22:15:58 29854 >>>> Ready and waiting on barrier. Will wait at most 228 seconds
+22:15:59 29855 >>>> Start io test
+22:15:59 29855 >>>> Ready and waiting on barrier. Will wait at most 226 seconds
+22:16:53 29856 >>>> Test finished
+22:17:19 29854 >>>> Test finished
+22:17:19 29855 >>>> Test finished
+2015-02-07 22:17:41.216 29616 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 7626308a-4a50-45b5-95c7-3b3a359aa771.
+
+--------------------------------------------------------------------------------
+Task a8879aa2-10ef-4a6a-a6f1-6a12478682e6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileKRIXMq',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.141     | 2.959     | 6.382     | 5.377         | 5.879         | 100.0%  | 3     |
+| nova.boot_server            | 14.374    | 20.116    | 26.129    | 24.872        | 25.501        | 100.0%  | 3     |
+| nova.delete_server          | 2.826     | 4.369     | 7.346     | 6.464         | 6.905         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.337     | 3.042     | 6.429     | 5.416         | 5.922         | 100.0%  | 3     |
+| total                       | 112.846   | 133.273   | 143.576   | 143.54        | 143.558       | 100.0%  | 3     |
+| vm.run_command              | 53.959    | 71.176    | 80.021    | 79.926        | 79.973        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.087     | 6.101     | 8.112     | 8.11          | 8.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.171    | 19.047    | 21.142    | 21.079        | 21.11         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 143.681328058
+Full duration: 172.58190012
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a8879aa2-10ef-4a6a-a6f1-6a12478682e6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a8879aa2-10ef-4a6a-a6f1-6a12478682e6
+
+Using task: a8879aa2-10ef-4a6a-a6f1-6a12478682e6
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 675.14},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 445.49},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 439.94}]
+================================================================================
+
+====> {"randwrite s 64k": [520, 189]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+22:17:45 30674 >>>> Start rally with opts 'task start /tmp/filesZJA4s --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileCoRfQ8
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d01b648b-30d2-4b08-addc-459a981987fa: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+22:18:52 30901 >>>> Start io test
+22:18:52 30901 >>>> Ready and waiting on barrier. Will wait at most 232 seconds
+22:18:58 30903 >>>> Start io test
+22:18:58 30903 >>>> Ready and waiting on barrier. Will wait at most 226 seconds
+22:19:08 30902 >>>> Start io test
+22:19:08 30902 >>>> Ready and waiting on barrier. Will wait at most 216 seconds
+23:19:09 30903 >>>> Rally raises exception Timeout executing command '/usr/bin/env python2' on host 172.16.53.94
+23:19:09 30901 >>>> Rally raises exception Timeout executing command '/usr/bin/env python2' on host 172.16.53.87
+23:19:09 30902 >>>> Rally raises exception Timeout executing command '/usr/bin/env python2' on host 172.16.53.91
+2015-02-07 23:19:29.393 30674 WARNING rally.benchmark.context.network [-] Failed to delete network for tenant cc11493befcd40cf8b76e471d4a1c889
+2015-02-07 23:19:29.678 30674 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b4b9f483-881e-4e6c-bca9-81cbe2c563b5.
+
+--------------------------------------------------------------------------------
+Task d01b648b-30d2-4b08-addc-459a981987fa: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileCoRfQ8',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| total  | n/a       | n/a       | n/a       | n/a           | n/a           | 0.0%    | 3     |
++--------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 3655.4320972
+Full duration: 3701.647614
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d01b648b-30d2-4b08-addc-459a981987fa --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d01b648b-30d2-4b08-addc-459a981987fa
+
+Using task: d01b648b-30d2-4b08-addc-459a981987fa
+================================================================================
+[]
+================================================================================
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+23:19:33 32648 >>>> Start rally with opts 'task start /tmp/fileIAHLmp --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileUM2W3O
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3c58bc8f-877c-47f7-a6e6-68508744284c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+23:21:03 377 >>>> Start io test
+23:21:03 377 >>>> Ready and waiting on barrier. Will wait at most 209 seconds
+23:24:33 377 >>>> Barrier timeouted
++ set -e
++ type=fio
++ bsizes='1k 4k 64k 256k 1m'
++ ops='randwrite write'
++ osync=a
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type fio -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario fio '--rally-extra-opts=--deployment perf-2'
+00:30:54 3098 >>>> Start rally with opts 'task start /tmp/filenzbNq0 --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileVXh3Q1
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a04e4cea-9e23-48a4-807b-f49b1137411c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+00:32:38 3553 >>>> Start io test
+00:32:38 3553 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+00:32:43 3552 >>>> Start io test
+00:32:43 3552 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+00:32:45 3551 >>>> Start io test
+00:32:45 3551 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+run.sh: line 15:  3098 Terminated              python run_rally_test.py -l -o "$io_opts" -t io-scenario $type --rally-extra-opts="--deployment $1"
diff --git a/results/results_perf_group_1.txt b/results/results_perf_group_1.txt
new file mode 100644
index 0000000..eb8b850
--- /dev/null
+++ b/results/results_perf_group_1.txt
@@ -0,0 +1,11944 @@
++ set -e
++ type=iozone
++ bsizes='1k 4k 64k 256k 1m'
++ ops=write
++ osync=s
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:01:01 6929 >>>> Start rally with opts 'task start /tmp/fileLzEiVA --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file4N0XXD
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  95a37e9d-5c68-4971-bb1c-74f2a8347743: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:03:01 7168 >>>> Start io test
+02:03:01 7168 >>>> Ready and waiting on barrier. Will wait at most 180 seconds
+02:03:09 7167 >>>> Start io test
+02:03:09 7167 >>>> Ready and waiting on barrier. Will wait at most 172 seconds
+02:03:14 7166 >>>> Start io test
+02:03:14 7166 >>>> Ready and waiting on barrier. Will wait at most 167 seconds
+02:03:42 7166 >>>> Test finished
+02:03:42 7167 >>>> Test finished
+02:03:43 7168 >>>> Test finished
+2015-02-08 02:04:13.363 6929 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: fa465fd8-aacb-4b90-83de-5a993a45d11b.
+
+--------------------------------------------------------------------------------
+Task 95a37e9d-5c68-4971-bb1c-74f2a8347743: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file4N0XXD',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.591     | 3.359     | 6.877     | 5.823         | 6.35          | 100.0%  | 3     |
+| nova.boot_server            | 58.607    | 61.832    | 65.371    | 64.601        | 64.986        | 100.0%  | 3     |
+| nova.delete_server          | 5.087     | 6.651     | 9.768     | 8.834         | 9.301         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.702     | 1.791     | 1.907     | 1.878         | 1.893         | 100.0%  | 3     |
+| total                       | 128.749   | 129.25    | 129.585   | 129.551       | 129.568       | 100.0%  | 3     |
+| vm.run_command              | 27.825    | 28.359    | 28.786    | 28.722        | 28.754        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.075     | 2.084     | 6.097     | 4.894         | 5.496         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.735     | 10.274    | 12.256    | 12.171        | 12.213        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.692778111
+Full duration: 185.989417791
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 95a37e9d-5c68-4971-bb1c-74f2a8347743 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 95a37e9d-5c68-4971-bb1c-74f2a8347743
+
+Using task: 95a37e9d-5c68-4971-bb1c-74f2a8347743
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileJheUID -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileLA5Cah -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file4YOQ9J -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22}]
+================================================================================
+
+====> {"write s 1k": [22, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:04:17 7502 >>>> Start rally with opts 'task start /tmp/file9j8HnA --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filex4eLyL
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  4135bd38-f375-48aa-9d63-8ed43f445544: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:05:47 7697 >>>> Start io test
+02:05:47 7697 >>>> Ready and waiting on barrier. Will wait at most 209 seconds
+02:05:48 7698 >>>> Start io test
+02:05:48 7698 >>>> Ready and waiting on barrier. Will wait at most 209 seconds
+02:05:54 7699 >>>> Start io test
+02:05:54 7699 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+02:06:22 7698 >>>> Test finished
+02:06:23 7697 >>>> Test finished
+02:06:23 7699 >>>> Test finished
+2015-02-08 02:06:59.313 7502 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4c2bee40-1660-4514-8adf-0a1c8892ed15.
+
+--------------------------------------------------------------------------------
+Task 4135bd38-f375-48aa-9d63-8ed43f445544: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filex4eLyL',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.415     | 1.561     | 1.755     | 1.706         | 1.731         | 100.0%  | 3     |
+| nova.boot_server            | 57.578    | 58.854    | 60.218    | 59.928        | 60.073        | 100.0%  | 3     |
+| nova.delete_server          | 5.123     | 6.683     | 9.788     | 8.858         | 9.323         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.65      | 1.774     | 1.855     | 1.848         | 1.851         | 100.0%  | 3     |
+| total                       | 118.12    | 120.604   | 124.177   | 123.245       | 123.711       | 100.0%  | 3     |
+| vm.run_command              | 28.383    | 29.095    | 29.47     | 29.463        | 29.466        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.088     | 6.097     | 6.106     | 6.104         | 6.105         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.525     | 8.151     | 11.292    | 10.361        | 10.827        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.254468918
+Full duration: 159.261395931
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 4135bd38-f375-48aa-9d63-8ed43f445544 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 4135bd38-f375-48aa-9d63-8ed43f445544
+
+Using task: 4135bd38-f375-48aa-9d63-8ed43f445544
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileMuH2wt -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileik0NN0 -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filemSyXWf -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22}]
+================================================================================
+
+====> {"write s 1k": [22, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:07:03 8052 >>>> Start rally with opts 'task start /tmp/fileC1fqsJ --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileOGt8G5
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f647ead2-fb54-4b21-8932-f86eb8e83c44: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:08:41 8299 >>>> Start io test
+02:08:41 8299 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+02:08:45 8298 >>>> Start io test
+02:08:45 8298 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+02:08:46 8297 >>>> Start io test
+02:08:46 8297 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+02:09:14 8297 >>>> Test finished
+02:09:15 8299 >>>> Test finished
+02:09:15 8298 >>>> Test finished
+2015-02-08 02:09:50.308 8052 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b3723baa-c828-40cd-85aa-548c99cd6e36.
+
+--------------------------------------------------------------------------------
+Task f647ead2-fb54-4b21-8932-f86eb8e83c44: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileOGt8G5',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.433     | 1.529     | 1.652     | 1.622         | 1.637         | 100.0%  | 3     |
+| nova.boot_server            | 61.082    | 63.594    | 65.102    | 65.001        | 65.052        | 100.0%  | 3     |
+| nova.delete_server          | 5.111     | 5.127     | 5.139     | 5.137         | 5.138         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.615     | 3.388     | 6.691     | 5.724         | 6.207         | 100.0%  | 3     |
+| total                       | 118.538   | 120.609   | 124.135   | 123.139       | 123.637       | 100.0%  | 3     |
+| vm.run_command              | 27.741    | 28.2      | 28.479    | 28.459        | 28.469        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.085     | 5.537     | 6.555     | 6.438         | 6.497         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.562     | 7.391     | 7.954     | 7.895         | 7.925         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 124.250823021
+Full duration: 164.457447052
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f647ead2-fb54-4b21-8932-f86eb8e83c44 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f647ead2-fb54-4b21-8932-f86eb8e83c44
+
+Using task: f647ead2-fb54-4b21-8932-f86eb8e83c44
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filelN86Lj -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filemkx9Gp -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filetj7SqQ -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22}]
+================================================================================
+
+====> {"write s 1k": [22, 0]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:09:54 8611 >>>> Start rally with opts 'task start /tmp/fileF7ycGP --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileWvSOgb
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6ff58334-f406-4cf6-acc2-c90804cb108a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:11:29 8812 >>>> Start io test
+02:11:29 8812 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+02:11:33 8814 >>>> Start io test
+02:11:33 8814 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+02:11:36 8813 >>>> Start io test
+02:11:36 8813 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+02:12:06 8812 >>>> Test finished
+02:12:06 8814 >>>> Test finished
+02:12:06 8813 >>>> Test finished
+2015-02-08 02:12:32.220 8611 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1d236352-64d1-4afd-8364-8aad841520d4.
+
+--------------------------------------------------------------------------------
+Task 6ff58334-f406-4cf6-acc2-c90804cb108a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileWvSOgb',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.422     | 1.559     | 1.781     | 1.719         | 1.75          | 100.0%  | 3     |
+| nova.boot_server            | 59.406    | 61.904    | 66.891    | 65.396        | 66.144        | 100.0%  | 3     |
+| nova.delete_server          | 5.172     | 6.747     | 9.829     | 8.911         | 9.37          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.583     | 1.751     | 2.056     | 1.968         | 2.012         | 100.0%  | 3     |
+| total                       | 122.919   | 125.789   | 127.759   | 127.545       | 127.652       | 100.0%  | 3     |
+| vm.run_command              | 29.895    | 30.174    | 30.46     | 30.402        | 30.431        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.095     | 6.099     | 6.101     | 6.101         | 6.101         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.583     | 9.191     | 12.007    | 11.202        | 11.604        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.864459038
+Full duration: 155.141624928
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6ff58334-f406-4cf6-acc2-c90804cb108a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6ff58334-f406-4cf6-acc2-c90804cb108a
+
+Using task: 6ff58334-f406-4cf6-acc2-c90804cb108a
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileRadJny -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filehKZghX -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 85},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileMaeH2W -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 84}]
+================================================================================
+
+====> {"write s 4k": [85, 1]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:12:35 9152 >>>> Start rally with opts 'task start /tmp/file1wnCQa --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileRHJ7kQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  4e13b6d2-87d3-4a22-a168-edea52b0d83f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:14:09 9356 >>>> Start io test
+02:14:09 9356 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+02:14:10 9357 >>>> Start io test
+02:14:10 9357 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+02:14:12 9355 >>>> Start io test
+02:14:12 9355 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+02:14:42 9357 >>>> Test finished
+02:14:42 9356 >>>> Test finished
+02:14:42 9355 >>>> Test finished
+2015-02-08 02:15:05.368 9152 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 22d0a7a4-8d34-4832-9e42-3f1e5d8c1fe9.
+
+--------------------------------------------------------------------------------
+Task 4e13b6d2-87d3-4a22-a168-edea52b0d83f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileRHJ7kQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.4       | 1.432     | 1.482     | 1.468         | 1.475         | 100.0%  | 3     |
+| nova.boot_server            | 60.888    | 61.676    | 62.17     | 62.13         | 62.15         | 100.0%  | 3     |
+| nova.delete_server          | 5.411     | 6.747     | 7.421     | 7.419         | 7.42          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.682     | 1.754     | 1.791     | 1.791         | 1.791         | 100.0%  | 3     |
+| total                       | 119.863   | 121.129   | 121.789   | 121.778       | 121.783       | 100.0%  | 3     |
+| vm.run_command              | 30.538    | 30.626    | 30.757    | 30.722        | 30.74         | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.362     | 2.656     | 6.859     | 5.636         | 6.247         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.438     | 7.257     | 7.717     | 7.697         | 7.707         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 121.837308168
+Full duration: 148.056043863
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 4e13b6d2-87d3-4a22-a168-edea52b0d83f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 4e13b6d2-87d3-4a22-a168-edea52b0d83f
+
+Using task: 4e13b6d2-87d3-4a22-a168-edea52b0d83f
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileldbwAP -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filee8IE1k -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filefuez0P -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 83}]
+================================================================================
+
+====> {"write s 4k": [83, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:15:10 9646 >>>> Start rally with opts 'task start /tmp/filec54e6B --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filesuZDwQ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  29139e04-b47e-4331-a18d-7d9cc88b3b83: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:16:56 9844 >>>> Start io test
+02:16:56 9844 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+02:16:56 9842 >>>> Start io test
+02:16:56 9842 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+02:16:59 9843 >>>> Start io test
+02:16:59 9843 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+02:17:28 9842 >>>> Test finished
+02:17:28 9844 >>>> Test finished
+02:17:28 9843 >>>> Test finished
+2015-02-08 02:17:55.648 9646 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 7bd3e8eb-6c6a-4239-8855-38b30815238e.
+
+--------------------------------------------------------------------------------
+Task 29139e04-b47e-4331-a18d-7d9cc88b3b83: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filesuZDwQ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.468     | 1.501     | 1.554     | 1.539         | 1.547         | 100.0%  | 3     |
+| nova.boot_server            | 61.792    | 62.496    | 62.853    | 62.851        | 62.852        | 100.0%  | 3     |
+| nova.delete_server          | 5.112     | 7.472     | 12.014    | 10.669        | 11.342        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.636     | 1.728     | 1.81      | 1.796         | 1.803         | 100.0%  | 3     |
+| total                       | 121.107   | 123.975   | 128.788   | 127.436       | 128.112       | 100.0%  | 3     |
+| vm.run_command              | 28.963    | 29.395    | 29.629    | 29.622        | 29.625        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.088     | 6.092     | 6.097     | 6.096         | 6.096         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.692     | 8.85      | 12.132    | 11.251        | 11.691        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.858690977
+Full duration: 158.385176182
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 29139e04-b47e-4331-a18d-7d9cc88b3b83 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 29139e04-b47e-4331-a18d-7d9cc88b3b83
+
+Using task: 29139e04-b47e-4331-a18d-7d9cc88b3b83
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileNLhGov -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filezRxq1r -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filed41hk2 -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87}]
+================================================================================
+
+====> {"write s 4k": [87, 1]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:17:59 10182 >>>> Start rally with opts 'task start /tmp/fileDoXODZ --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filePGwDEi
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ba2e3ca5-1998-4b1f-b907-68308f99c045: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:19:34 10379 >>>> Start io test
+02:19:34 10379 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+02:19:36 10380 >>>> Start io test
+02:19:36 10380 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+02:19:40 10378 >>>> Start io test
+02:19:40 10378 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+02:20:13 10380 >>>> Test finished
+02:20:14 10379 >>>> Test finished
+02:20:15 10378 >>>> Test finished
+2015-02-08 02:20:41.055 10182 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 842d7eae-6794-485a-b499-4792c497aec4.
+
+--------------------------------------------------------------------------------
+Task ba2e3ca5-1998-4b1f-b907-68308f99c045: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filePGwDEi',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.41      | 1.595     | 1.812     | 1.762         | 1.787         | 100.0%  | 3     |
+| nova.boot_server            | 61.265    | 61.823    | 62.623    | 62.415        | 62.519        | 100.0%  | 3     |
+| nova.delete_server          | 5.168     | 5.215     | 5.276     | 5.261         | 5.269         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.639     | 1.713     | 1.802     | 1.781         | 1.792         | 100.0%  | 3     |
+| total                       | 127.111   | 127.752   | 128.174   | 128.134       | 128.154       | 100.0%  | 3     |
+| vm.run_command              | 33.474    | 34.041    | 34.506    | 34.433        | 34.469        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.771     | 5.654     | 6.098     | 6.097         | 6.098         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.684     | 9.676     | 12.527    | 11.785        | 12.156        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.253315926
+Full duration: 159.049183846
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ba2e3ca5-1998-4b1f-b907-68308f99c045 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ba2e3ca5-1998-4b1f-b907-68308f99c045
+
+Using task: ba2e3ca5-1998-4b1f-b907-68308f99c045
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file7qobLL -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1240},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileyRLZ6x -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1210},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileoF8EFP -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1190}]
+================================================================================
+
+====> {"write s 64k": [1213, 35]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:20:44 10719 >>>> Start rally with opts 'task start /tmp/fileIokJB0 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filejewmMu
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7af12d5a-af01-455b-a3b8-ec173b5c4d74: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:22:17 10913 >>>> Start io test
+02:22:17 10913 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+02:22:21 10914 >>>> Start io test
+02:22:21 10914 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+02:22:24 10915 >>>> Start io test
+02:22:24 10915 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+02:22:57 10913 >>>> Test finished
+02:22:57 10915 >>>> Test finished
+02:22:57 10914 >>>> Test finished
+2015-02-08 02:23:31.480 10719 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 63aeb466-dba4-4147-bc41-094c4f71cbbe.
+
+--------------------------------------------------------------------------------
+Task 7af12d5a-af01-455b-a3b8-ec173b5c4d74: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filejewmMu',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.502     | 1.515     | 1.531     | 1.527         | 1.529         | 100.0%  | 3     |
+| nova.boot_server            | 58.546    | 59.21     | 59.672    | 59.62         | 59.646        | 100.0%  | 3     |
+| nova.delete_server          | 7.405     | 7.434     | 7.454     | 7.452         | 7.453         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.605     | 1.692     | 1.748     | 1.743         | 1.745         | 100.0%  | 3     |
+| total                       | 126.657   | 126.713   | 126.812   | 126.783       | 126.798       | 100.0%  | 3     |
+| vm.run_command              | 33.743    | 33.79     | 33.818    | 33.816        | 33.817        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.703     | 5.638     | 6.108     | 6.107         | 6.108         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.683     | 10.418    | 13.221    | 12.847        | 13.034        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 126.958745003
+Full duration: 163.678922892
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7af12d5a-af01-455b-a3b8-ec173b5c4d74 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7af12d5a-af01-455b-a3b8-ec173b5c4d74
+
+Using task: 7af12d5a-af01-455b-a3b8-ec173b5c4d74
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileUQwiEj -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1287},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileW6X2PF -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1286},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filebdhsrA -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1285}]
+================================================================================
+
+====> {"write s 64k": [1286, 1]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:23:35 11254 >>>> Start rally with opts 'task start /tmp/fileNW1wuv --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file306uc0
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  020449b2-dd28-4c5e-9f22-0e6042f1afdb: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:25:19 11451 >>>> Start io test
+02:25:19 11451 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+02:25:22 11450 >>>> Start io test
+02:25:22 11450 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+02:25:25 11449 >>>> Start io test
+02:25:25 11449 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+02:25:58 11451 >>>> Test finished
+02:25:58 11450 >>>> Test finished
+02:25:58 11449 >>>> Test finished
+2015-02-08 02:26:28.418 11254 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 3b2ffd4d-7c87-480c-90df-69b240c611e6.
+
+--------------------------------------------------------------------------------
+Task 020449b2-dd28-4c5e-9f22-0e6042f1afdb: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file306uc0',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.282     | 1.355     | 1.433     | 1.417         | 1.425         | 100.0%  | 3     |
+| nova.boot_server            | 60.928    | 63.303    | 66.095    | 65.453        | 65.774        | 100.0%  | 3     |
+| nova.delete_server          | 5.134     | 5.16      | 5.204     | 5.192         | 5.198         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.599     | 3.351     | 6.737     | 5.733         | 6.235         | 100.0%  | 3     |
+| total                       | 129.535   | 131.361   | 134.793   | 133.786       | 134.289       | 100.0%  | 3     |
+| vm.run_command              | 32.48     | 32.604    | 32.691    | 32.681        | 32.686        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.095     | 6.85      | 8.35      | 7.901         | 8.126         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 4.65      | 11.703    | 18.112    | 16.959        | 17.535        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 134.867283106
+Full duration: 169.970800161
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 020449b2-dd28-4c5e-9f22-0e6042f1afdb --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 020449b2-dd28-4c5e-9f22-0e6042f1afdb
+
+Using task: 020449b2-dd28-4c5e-9f22-0e6042f1afdb
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileU6s3YC -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1283},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileSb7amA -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1276},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filetl8AUJ -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1276}]
+================================================================================
+
+====> {"write s 64k": [1278, 5]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:26:32 11795 >>>> Start rally with opts 'task start /tmp/filesHOvO4 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filefKoevm
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a965ea3e-1438-4dcc-9e7b-eda827321dd4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:28:05 11989 >>>> Start io test
+02:28:05 11989 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+02:28:06 11991 >>>> Start io test
+02:28:06 11991 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+02:28:07 11990 >>>> Start io test
+02:28:07 11990 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+02:28:50 11991 >>>> Test finished
+02:28:51 11990 >>>> Test finished
+02:28:51 11989 >>>> Test finished
+2015-02-08 02:29:11.661 11795 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6619d821-d4fc-462c-afb5-d850afaf2261.
+
+--------------------------------------------------------------------------------
+Task a965ea3e-1438-4dcc-9e7b-eda827321dd4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filefKoevm',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.381     | 1.502     | 1.593     | 1.581         | 1.587         | 100.0%  | 3     |
+| nova.boot_server            | 59.554    | 61.183    | 63.626    | 62.975        | 63.3          | 100.0%  | 3     |
+| nova.delete_server          | 5.104     | 5.173     | 5.25      | 5.233         | 5.241         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.723     | 1.8       | 1.899     | 1.875         | 1.887         | 100.0%  | 3     |
+| total                       | 130.115   | 130.845   | 131.242   | 131.229       | 131.235       | 100.0%  | 3     |
+| vm.run_command              | 42.833    | 43.376    | 43.663    | 43.657        | 43.66         | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.697     | 6.013     | 6.682     | 6.678         | 6.68          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.567     | 6.994     | 7.698     | 7.502         | 7.6           | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 131.369011879
+Full duration: 157.518203974
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a965ea3e-1438-4dcc-9e7b-eda827321dd4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a965ea3e-1438-4dcc-9e7b-eda827321dd4
+
+Using task: a965ea3e-1438-4dcc-9e7b-eda827321dd4
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileMDUmTt -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4036},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filevlaxDd -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3938},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileJJnAOl -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3923}]
+================================================================================
+
+====> {"write s 256k": [3965, 86]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:29:16 12336 >>>> Start rally with opts 'task start /tmp/fileSqKGRj --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileAZ3SXP
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ed5c7e0a-3d27-4e7e-a885-f03fa3f3a447: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:30:59 12541 >>>> Start io test
+02:30:59 12541 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+02:31:01 12531 >>>> Start io test
+02:31:01 12531 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+02:31:05 12540 >>>> Start io test
+02:31:05 12540 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+02:31:49 12531 >>>> Test finished
+02:31:49 12540 >>>> Test finished
+02:31:49 12541 >>>> Test finished
+2015-02-08 02:32:20.583 12336 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 58d78c4f-4739-4c45-acb5-0f72d2ff2658.
+
+--------------------------------------------------------------------------------
+Task ed5c7e0a-3d27-4e7e-a885-f03fa3f3a447: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileAZ3SXP',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.573     | 1.655     | 1.814     | 1.767         | 1.79          | 100.0%  | 3     |
+| nova.boot_server            | 59.332    | 60.177    | 60.674    | 60.644        | 60.659        | 100.0%  | 3     |
+| nova.delete_server          | 5.176     | 5.262     | 5.384     | 5.352         | 5.368         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.849     | 3.487     | 6.694     | 5.739         | 6.216         | 100.0%  | 3     |
+| total                       | 135.02    | 136.686   | 139.745   | 138.854       | 139.3         | 100.0%  | 3     |
+| vm.run_command              | 43.613    | 43.814    | 44.065    | 44.005        | 44.035        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.595     | 6.201     | 7.912     | 7.549         | 7.73          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.366     | 8.457     | 10.322    | 9.794         | 10.058        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 139.891269207
+Full duration: 181.290491104
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ed5c7e0a-3d27-4e7e-a885-f03fa3f3a447 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ed5c7e0a-3d27-4e7e-a885-f03fa3f3a447
+
+Using task: ed5c7e0a-3d27-4e7e-a885-f03fa3f3a447
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileTrxO0L -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3847},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filew8g4uV -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3827},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileLUqvcg -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3791}]
+================================================================================
+
+====> {"write s 256k": [3821, 40]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:32:24 12929 >>>> Start rally with opts 'task start /tmp/fileAeuyaa --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileRuOC83
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  2b72839b-9ed9-4a8d-9755-f63c5604e706: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:34:06 13126 >>>> Start io test
+02:34:06 13126 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+02:34:12 13125 >>>> Start io test
+02:34:12 13125 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+02:34:17 13127 >>>> Start io test
+02:34:17 13127 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+02:35:00 13127 >>>> Test finished
+02:35:01 13125 >>>> Test finished
+02:35:03 13126 >>>> Test finished
+2015-02-08 02:35:33.807 12929 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d372b811-4a2f-4617-9375-bf5d0b176e12.
+
+--------------------------------------------------------------------------------
+Task 2b72839b-9ed9-4a8d-9755-f63c5604e706: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileRuOC83',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.461     | 1.523     | 1.641     | 1.606         | 1.624         | 100.0%  | 3     |
+| nova.boot_server            | 63.07     | 64.631    | 67.607    | 66.729        | 67.168        | 100.0%  | 3     |
+| nova.delete_server          | 5.259     | 6.822     | 9.719     | 8.873         | 9.296         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.586     | 1.72      | 1.819     | 1.806         | 1.813         | 100.0%  | 3     |
+| total                       | 146.147   | 148.016   | 149.654   | 149.372       | 149.513       | 100.0%  | 3     |
+| vm.run_command              | 42.578    | 43.877    | 45.068    | 44.851        | 44.96         | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.619     | 5.242     | 6.108     | 5.886         | 5.997         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.321     | 10.173    | 12.106    | 12.104        | 12.105        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 149.794737101
+Full duration: 185.754514217
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 2b72839b-9ed9-4a8d-9755-f63c5604e706 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 2b72839b-9ed9-4a8d-9755-f63c5604e706
+
+Using task: 2b72839b-9ed9-4a8d-9755-f63c5604e706
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filefEbC0X -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4261},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileK8K4kD -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4075},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file1tZfqK -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3939}]
+================================================================================
+
+====> {"write s 256k": [4091, 228]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:35:37 13484 >>>> Start rally with opts 'task start /tmp/fileRWhSKh --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileFGgylp
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a8154347-6cc9-411f-b38a-1d7d6aa98f21: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:37:12 13683 >>>> Start io test
+02:37:12 13683 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+02:37:14 13684 >>>> Start io test
+02:37:14 13684 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+02:37:19 13682 >>>> Start io test
+02:37:19 13682 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+02:38:53 13684 >>>> Test finished
+02:38:55 13682 >>>> Test finished
+02:38:55 13683 >>>> Test finished
+2015-02-08 02:39:37.411 13484 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 19b5e73a-eb11-40dd-a52e-10e9d33c92c4.
+
+--------------------------------------------------------------------------------
+Task a8154347-6cc9-411f-b38a-1d7d6aa98f21: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileFGgylp',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.373     | 1.401     | 1.419     | 1.418         | 1.418         | 100.0%  | 3     |
+| nova.boot_server            | 60.778    | 61.705    | 62.732    | 62.507        | 62.619        | 100.0%  | 3     |
+| nova.delete_server          | 5.105     | 6.68      | 9.775     | 8.852         | 9.313         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.658     | 3.326     | 6.564     | 5.602         | 6.083         | 100.0%  | 3     |
+| total                       | 189.362   | 193.818   | 199.322   | 198.012       | 198.667       | 100.0%  | 3     |
+| vm.run_command              | 94.391    | 95.52     | 96.331    | 96.232        | 96.282        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.09      | 6.182     | 6.353     | 6.303         | 6.328         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.539     | 7.681     | 7.771     | 7.763         | 7.767         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 199.393381119
+Full duration: 236.726731062
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a8154347-6cc9-411f-b38a-1d7d6aa98f21 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a8154347-6cc9-411f-b38a-1d7d6aa98f21
+
+Using task: a8154347-6cc9-411f-b38a-1d7d6aa98f21
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileXODmBy -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7965},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filelZsFeA -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7757},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileSXwn6l -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7848}]
+================================================================================
+
+====> {"write s 1024k": [7856, 147]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:39:41 14036 >>>> Start rally with opts 'task start /tmp/filelToPNe --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filenfg0wN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ac3a0010-7b52-4640-ba91-83133fd28d2e: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:41:22 14232 >>>> Start io test
+02:41:22 14232 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+02:41:25 14230 >>>> Start io test
+02:41:25 14230 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+02:41:29 14231 >>>> Start io test
+02:41:29 14231 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+02:42:59 14230 >>>> Test finished
+02:42:59 14232 >>>> Test finished
+02:42:59 14231 >>>> Test finished
+2015-02-08 02:43:37.584 14036 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 80598539-fee3-4599-b33c-fea133077f83.
+
+--------------------------------------------------------------------------------
+Task ac3a0010-7b52-4640-ba91-83133fd28d2e: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filenfg0wN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.56      | 1.61      | 1.647     | 1.643         | 1.645         | 100.0%  | 3     |
+| nova.boot_server            | 62.995    | 63.293    | 63.786    | 63.648        | 63.717        | 100.0%  | 3     |
+| nova.delete_server          | 5.178     | 8.391     | 12.469    | 11.48         | 11.974        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.554     | 3.237     | 6.537     | 5.554         | 6.045         | 100.0%  | 3     |
+| total                       | 186.699   | 189.176   | 191.143   | 190.852       | 190.997       | 100.0%  | 3     |
+| vm.run_command              | 89.775    | 90.166    | 90.511    | 90.451        | 90.481        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.087     | 4.884     | 6.347     | 6.321         | 6.334         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.628     | 8.704     | 10.928    | 10.453        | 10.691        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 191.273862839
+Full duration: 233.295112133
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ac3a0010-7b52-4640-ba91-83133fd28d2e --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ac3a0010-7b52-4640-ba91-83133fd28d2e
+
+Using task: ac3a0010-7b52-4640-ba91-83133fd28d2e
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file99oz35 -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8500},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file3FNxPn -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8365},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filesYA0hA -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8347}]
+================================================================================
+
+====> {"write s 1024k": [8404, 118]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:43:41 14566 >>>> Start rally with opts 'task start /tmp/filefILgG9 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileb0dLih
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ef5f8e2b-f1fa-445b-872a-3b217bf1c30a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:45:24 14760 >>>> Start io test
+02:45:24 14760 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+02:45:29 14761 >>>> Start io test
+02:45:29 14761 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+02:45:32 14762 >>>> Start io test
+02:45:32 14762 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+02:47:06 14761 >>>> Test finished
+02:47:06 14762 >>>> Test finished
+02:47:06 14760 >>>> Test finished
+2015-02-08 02:47:46.837 14566 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 64c7306f-b05a-4cbe-8a56-7de2245478a1.
+
+--------------------------------------------------------------------------------
+Task ef5f8e2b-f1fa-445b-872a-3b217bf1c30a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileb0dLih',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.625     | 1.945     | 2.524     | 2.357         | 2.44          | 100.0%  | 3     |
+| nova.boot_server            | 61.061    | 62.013    | 63.296    | 62.973        | 63.135        | 100.0%  | 3     |
+| nova.delete_server          | 5.512     | 5.523     | 5.544     | 5.538         | 5.541         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.666     | 3.445     | 6.82      | 5.826         | 6.323         | 100.0%  | 3     |
+| total                       | 187.295   | 188.873   | 192.021   | 191.077       | 191.549       | 100.0%  | 3     |
+| vm.run_command              | 93.93     | 94.286    | 94.627    | 94.562        | 94.594        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.098     | 6.106     | 6.114     | 6.112         | 6.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.258     | 7.552     | 10.811    | 9.966         | 10.388        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 192.087732077
+Full duration: 242.544982195
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ef5f8e2b-f1fa-445b-872a-3b217bf1c30a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ef5f8e2b-f1fa-445b-872a-3b217bf1c30a
+
+Using task: ef5f8e2b-f1fa-445b-872a-3b217bf1c30a
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filen5yUsz -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7784},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filehssvUs -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7750},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file9KdQg0 -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7703}]
+================================================================================
+
+====> {"write s 1024k": [7745, 57]}
+
+================================================================================
++ bsizes='4k 64k 256k 1m'
++ ops='randread read'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+02:47:50 15098 >>>> Start rally with opts 'task start /tmp/fileyLa6ay --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file43pNPU
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a2035cda-c1ba-4b2e-b001-957776d6b62d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+02:49:35 15296 >>>> Start io test
+02:49:35 15296 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+02:49:39 15295 >>>> Start io test
+02:49:39 15295 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+02:49:42 15294 >>>> Start io test
+02:49:42 15294 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+02:59:46 15296 >>>> Test finished
+03:01:21 15294 >>>> Test finished
+03:05:18 15295 >>>> Test finished
+2015-02-08 03:06:04.345 15098 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1d37146f-2194-4bb1-a1e9-2ddd4521a521.
+
+--------------------------------------------------------------------------------
+Task a2035cda-c1ba-4b2e-b001-957776d6b62d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file43pNPU',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.562     | 1.583     | 1.605     | 1.6           | 1.602         | 66.7%   | 3     |
+| nova.boot_server            | 60.516    | 61.197    | 61.878    | 61.742        | 61.81         | 66.7%   | 3     |
+| nova.delete_server          | 9.734     | 64.22     | 118.707   | 107.809       | 113.258       | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.256     | 7.343     | 7.429     | 7.412         | 7.421         | 66.7%   | 3     |
+| total                       | 916.864   | 980.748   | 1044.633  | 1031.856      | 1038.244      | 66.7%   | 3     |
+| vm.run_command              | 699.725   | 818.19    | 936.655   | 912.962       | 924.809       | 66.7%   | 3     |
+| vm.wait_for_ping            | 6.829     | 6.925     | 7.022     | 7.002         | 7.012         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 7.798     | 9.646     | 11.494    | 11.124        | 11.309        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1044.72544599
+Full duration: 1090.92513418
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a2035cda-c1ba-4b2e-b001-957776d6b62d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a2035cda-c1ba-4b2e-b001-957776d6b62d
+
+Using task: a2035cda-c1ba-4b2e-b001-957776d6b62d
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileYpfqGI -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5704},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file71kREt -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2405},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileqQuSgR -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1546}]
+================================================================================
+
+====> {"randread a 4k": [3218, 3104]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:06:08 15757 >>>> Start rally with opts 'task start /tmp/filegahy0i --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filepJIm06
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f64f22f2-75f6-4b8e-8e75-325071d36647: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+03:08:02 15951 >>>> Start io test
+03:08:02 15951 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+03:08:04 15953 >>>> Start io test
+03:08:04 15953 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+03:08:07 15952 >>>> Start io test
+03:08:07 15952 >>>> Ready and waiting on barrier. Will wait at most 181 seconds
+03:15:51 15952 >>>> Test finished
+03:20:13 15951 >>>> Test finished
+03:23:45 15953 >>>> Test finished
+2015-02-08 03:24:47.264 15757 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 0e56722f-a6f4-400e-b566-69513f172737.
+
+--------------------------------------------------------------------------------
+Task f64f22f2-75f6-4b8e-8e75-325071d36647: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filepJIm06',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.585     | 1.585     | 1.585     | 1.585         | 1.585         | 66.7%   | 3     |
+| nova.boot_server            | 60.579    | 63.488    | 66.397    | 65.815        | 66.106        | 66.7%   | 3     |
+| nova.delete_server          | 101.763   | 109.978   | 118.192   | 116.549       | 117.371       | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.717     | 7.802     | 7.887     | 7.87          | 7.879         | 66.7%   | 3     |
+| total                       | 678.909   | 801.72    | 924.531   | 899.968       | 912.249       | 66.7%   | 3     |
+| vm.run_command              | 463.872   | 594.925   | 725.978   | 699.767       | 712.872       | 66.7%   | 3     |
+| vm.wait_for_ping            | 4.745     | 5.797     | 6.849     | 6.638         | 6.744         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 6.618     | 7.068     | 7.519     | 7.429         | 7.474         | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1039.91754508
+Full duration: 1115.95508695
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f64f22f2-75f6-4b8e-8e75-325071d36647 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f64f22f2-75f6-4b8e-8e75-325071d36647
+
+Using task: f64f22f2-75f6-4b8e-8e75-325071d36647
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filekwv0GX -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5631},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileJe4keD -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2401},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filezkCFTw -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1627}]
+================================================================================
+
+====> {"randread a 4k": [3219, 3003]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:24:51 16470 >>>> Start rally with opts 'task start /tmp/filee6OcGM --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileAxCCy9
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  be0e01e1-d0b4-4438-8211-0dcbb8a25494: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+03:26:30 16670 >>>> Start io test
+03:26:30 16670 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+03:26:34 16671 >>>> Start io test
+03:26:34 16671 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+03:26:36 16672 >>>> Start io test
+03:26:36 16672 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+03:34:17 16670 >>>> Test finished
+03:38:12 16671 >>>> Test finished
+03:42:12 16672 >>>> Test finished
+2015-02-08 03:43:14.760 16470 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4d01bd56-16a5-4779-9909-0a54bbb6c408.
+
+--------------------------------------------------------------------------------
+Task be0e01e1-d0b4-4438-8211-0dcbb8a25494: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileAxCCy9',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.43      | 1.579     | 1.727     | 1.697         | 1.712         | 66.7%   | 3     |
+| nova.boot_server            | 59.598    | 60.62     | 61.642    | 61.437        | 61.54         | 66.7%   | 3     |
+| nova.delete_server          | 107.422   | 110.554   | 113.686   | 113.059       | 113.373       | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.259     | 7.594     | 7.928     | 7.861         | 7.895         | 66.7%   | 3     |
+| total                       | 662.103   | 784.922   | 907.741   | 883.178       | 895.459       | 66.7%   | 3     |
+| vm.run_command              | 461.257   | 578.766   | 696.276   | 672.774       | 684.525       | 66.7%   | 3     |
+| vm.wait_for_ping            | 4.372     | 4.909     | 5.446     | 5.339         | 5.392         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 6.33      | 10.25     | 14.17     | 13.386        | 13.778        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 1039.57612801
+Full duration: 1100.92216921
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report be0e01e1-d0b4-4438-8211-0dcbb8a25494 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results be0e01e1-d0b4-4438-8211-0dcbb8a25494
+
+Using task: be0e01e1-d0b4-4438-8211-0dcbb8a25494
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileLPYo3V -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 5596},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileWDIRGn -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 2456},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file7XPTqh -i 2 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1547}]
+================================================================================
+
+====> {"randread a 4k": [3199, 3004]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:43:18 17180 >>>> Start rally with opts 'task start /tmp/filewY04CB --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileYAOZL4
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c6df4441-cbe6-411a-9988-828c5f753190: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+03:45:09 17401 >>>> Start io test
+03:45:09 17401 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+03:45:09 17400 >>>> Start io test
+03:45:09 17400 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+03:45:10 17402 >>>> Start io test
+03:45:10 17402 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+03:46:12 17402 >>>> Test finished
+03:46:13 17401 >>>> Test finished
+03:46:15 17400 >>>> Test finished
+2015-02-08 03:46:45.887 17180 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e055c38f-eb1a-4255-8e50-d5e61fba86e5.
+
+--------------------------------------------------------------------------------
+Task c6df4441-cbe6-411a-9988-828c5f753190: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileYAOZL4',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.312     | 1.503     | 1.633     | 1.619         | 1.626         | 100.0%  | 3     |
+| nova.boot_server            | 60.807    | 63.406    | 67.252    | 66.233        | 66.743        | 100.0%  | 3     |
+| nova.delete_server          | 5.118     | 5.181     | 5.283     | 5.255         | 5.269         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.791     | 5.063     | 6.726     | 6.715         | 6.721         | 100.0%  | 3     |
+| total                       | 161.009   | 162.234   | 163.704   | 163.361       | 163.533       | 100.0%  | 3     |
+| vm.run_command              | 62.605    | 63.704    | 65.078    | 64.748        | 64.913        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.739     | 5.253     | 6.098     | 5.863         | 5.981         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.83      | 12.046    | 14.362    | 14.079        | 14.22         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 163.799864054
+Full duration: 204.062970161
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c6df4441-cbe6-411a-9988-828c5f753190 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c6df4441-cbe6-411a-9988-828c5f753190
+
+Using task: c6df4441-cbe6-411a-9988-828c5f753190
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileJDzs6n -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93311},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileG1bSAG -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93183},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file7jppMM -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 82790}]
+================================================================================
+
+====> {"read a 4k": [89761, 8538]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:46:49 17685 >>>> Start rally with opts 'task start /tmp/filer62bgm --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileEw9cBp
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d07375f1-2c76-4e6c-b5ef-f7f77ac8713a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+03:48:27 17882 >>>> Start io test
+03:48:27 17882 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+03:48:27 17880 >>>> Start io test
+03:48:27 17880 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+03:48:29 17881 >>>> Start io test
+03:48:29 17881 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+03:49:28 17881 >>>> Test finished
+03:49:29 17880 >>>> Test finished
+03:49:30 17882 >>>> Test finished
+2015-02-08 03:49:56.935 17685 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 5b1d3b23-3fdf-45e4-9bbf-474a00bf88b7.
+
+--------------------------------------------------------------------------------
+Task d07375f1-2c76-4e6c-b5ef-f7f77ac8713a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileEw9cBp',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.312     | 1.471     | 1.598     | 1.579         | 1.589         | 100.0%  | 3     |
+| nova.boot_server            | 60.969    | 62.361    | 63.1      | 63.083        | 63.092        | 100.0%  | 3     |
+| nova.delete_server          | 5.329     | 6.731     | 7.442     | 7.438         | 7.44          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.543     | 6.692     | 6.832     | 6.806         | 6.819         | 100.0%  | 3     |
+| total                       | 157.705   | 158.191   | 159.086   | 158.826       | 158.956       | 100.0%  | 3     |
+| vm.run_command              | 58.301    | 59.552    | 60.555    | 60.404        | 60.479        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.417     | 3.996     | 6.561     | 6.251         | 6.406         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.607     | 9.899     | 12.472    | 11.701        | 12.087        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 159.181003094
+Full duration: 184.547394991
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d07375f1-2c76-4e6c-b5ef-f7f77ac8713a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d07375f1-2c76-4e6c-b5ef-f7f77ac8713a
+
+Using task: d07375f1-2c76-4e6c-b5ef-f7f77ac8713a
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileWTc16J -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 101778},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filefuW14Y -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 94327},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileUKBY4b -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88073}]
+================================================================================
+
+====> {"read a 4k": [94726, 9703]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 4k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:50:00 18218 >>>> Start rally with opts 'task start /tmp/file6kNlAh --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filec8j2LC
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  eab9ae50-6dba-494c-8e7c-b746bb6cac47: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+03:51:35 18414 >>>> Start io test
+03:51:35 18414 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+03:51:37 18412 >>>> Start io test
+03:51:37 18412 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+03:51:39 18413 >>>> Start io test
+03:51:39 18413 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+03:52:40 18414 >>>> Test finished
+03:52:41 18412 >>>> Test finished
+03:52:42 18413 >>>> Test finished
+2015-02-08 03:53:14.295 18218 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 73505413-80d5-497b-acaf-98026958166f.
+
+--------------------------------------------------------------------------------
+Task eab9ae50-6dba-494c-8e7c-b746bb6cac47: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filec8j2LC',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.491     | 1.513     | 1.554     | 1.542         | 1.548         | 100.0%  | 3     |
+| nova.boot_server            | 62.204    | 62.691    | 63.636    | 63.355        | 63.496        | 100.0%  | 3     |
+| nova.delete_server          | 5.15      | 6.78      | 10.018    | 9.049         | 9.534         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.513     | 3.302     | 6.842     | 5.784         | 6.313         | 100.0%  | 3     |
+| total                       | 151.867   | 156.879   | 163.36    | 161.77        | 162.565       | 100.0%  | 3     |
+| vm.run_command              | 61.108    | 62.273    | 63.423    | 63.196        | 63.309        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.316     | 2.283     | 6.098     | 4.966         | 5.532         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.67      | 7.548     | 8.389     | 8.228         | 8.309         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 163.49594593
+Full duration: 190.661319971
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report eab9ae50-6dba-494c-8e7c-b746bb6cac47 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results eab9ae50-6dba-494c-8e7c-b746bb6cac47
+
+Using task: eab9ae50-6dba-494c-8e7c-b746bb6cac47
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileoMZBpL -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 102057},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileuL3kd5 -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 90171},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileqMW87o -i 1 -s 1003592 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 84684}]
+================================================================================
+
+====> {"read a 4k": [92304, 12559]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:53:18 18765 >>>> Start rally with opts 'task start /tmp/filebTBHbt --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filekoRmrS
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  55a8c53a-6382-4150-ba97-472feefb9a4c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+03:55:00 18961 >>>> Start io test
+03:55:00 18961 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+03:55:01 18960 >>>> Start io test
+03:55:01 18960 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+03:55:02 18959 >>>> Start io test
+03:55:02 18959 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+03:57:06 18959 >>>> Test finished
+03:58:50 18960 >>>> Test finished
+03:58:51 18961 >>>> Test finished
+2015-02-08 03:59:49.063 18765 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1c3529d2-3b3c-411f-b940-03c808699f04.
+
+--------------------------------------------------------------------------------
+Task 55a8c53a-6382-4150-ba97-472feefb9a4c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filekoRmrS',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.525     | 1.594     | 1.648     | 1.64          | 1.644         | 100.0%  | 3     |
+| nova.boot_server            | 64.224    | 65.255    | 65.788    | 65.781        | 65.785        | 100.0%  | 3     |
+| nova.delete_server          | 5.275     | 39.871    | 102.086   | 84.12         | 93.103        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.219     | 5.665     | 7.573     | 7.499         | 7.536         | 100.0%  | 3     |
+| total                       | 328.329   | 332.59    | 337.326   | 336.284       | 336.805       | 100.0%  | 3     |
+| vm.run_command              | 124.315   | 194.091   | 229.598   | 229.351       | 229.475       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.106     | 6.108     | 6.111     | 6.11          | 6.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.92     | 11.986    | 13.187    | 12.92         | 13.054        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 337.380197048
+Full duration: 388.13932991
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 55a8c53a-6382-4150-ba97-472feefb9a4c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 55a8c53a-6382-4150-ba97-472feefb9a4c
+
+Using task: 55a8c53a-6382-4150-ba97-472feefb9a4c
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filewjDdKA -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 47901},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileVTdIsv -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14197},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filezmWQw0 -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13118}]
+================================================================================
+
+====> {"randread a 64k": [25072, 27970]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+03:59:52 19298 >>>> Start rally with opts 'task start /tmp/fileOa9iPH --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewDMref
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e330e33b-cf77-4a7d-8fec-27754254a60b: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:01:33 19498 >>>> Start io test
+04:01:33 19498 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+04:01:36 19496 >>>> Start io test
+04:01:36 19496 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+04:01:36 19497 >>>> Start io test
+04:01:36 19497 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+04:03:42 19497 >>>> Test finished
+04:04:55 19496 >>>> Test finished
+04:05:35 19498 >>>> Test finished
+2015-02-08 04:06:22.542 19298 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b595de09-0c4c-4bd1-ac6b-0b1411866ff4.
+
+--------------------------------------------------------------------------------
+Task e330e33b-cf77-4a7d-8fec-27754254a60b: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewDMref',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.35      | 1.498     | 1.647     | 1.618         | 1.633         | 100.0%  | 3     |
+| nova.boot_server            | 61.584    | 63.821    | 66.77     | 66.038        | 66.404        | 100.0%  | 3     |
+| nova.delete_server          | 5.239     | 51.077    | 109.875   | 95.523        | 102.699       | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.473     | 5.576     | 7.732     | 7.49          | 7.611         | 100.0%  | 3     |
+| total                       | 332.307   | 333.862   | 336.338   | 335.659       | 335.999       | 100.0%  | 3     |
+| vm.run_command              | 125.145   | 187.652   | 239.068   | 231.003       | 235.036       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.777     | 5.252     | 6.106     | 5.86          | 5.983         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.626     | 8.85      | 11.258    | 10.54         | 10.899        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 336.475885868
+Full duration: 386.695617914
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e330e33b-cf77-4a7d-8fec-27754254a60b --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e330e33b-cf77-4a7d-8fec-27754254a60b
+
+Using task: e330e33b-cf77-4a7d-8fec-27754254a60b
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filek5umT8 -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 49709},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileelA7gH -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13419},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filenQTFsX -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8837}]
+================================================================================
+
+====> {"randread a 64k": [23988, 31667]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:06:26 19842 >>>> Start rally with opts 'task start /tmp/fileOUHeTj --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewk64m2
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8d35b591-ac81-424c-916d-dced1d1b51d4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:07:59 20036 >>>> Start io test
+04:07:59 20036 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+04:08:05 20038 >>>> Start io test
+04:08:05 20038 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+04:08:07 20037 >>>> Start io test
+04:08:07 20037 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+04:10:59 20038 >>>> Test finished
+04:11:24 20036 >>>> Test finished
+04:12:02 20037 >>>> Test finished
+2015-02-08 04:12:54.143 19842 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 87a06072-58d2-47c2-b92d-aab4537d9a9d.
+
+--------------------------------------------------------------------------------
+Task 8d35b591-ac81-424c-916d-dced1d1b51d4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewk64m2',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.458     | 1.5       | 1.554     | 1.541         | 1.548         | 100.0%  | 3     |
+| nova.boot_server            | 61.084    | 63.483    | 66.04     | 65.497        | 65.769        | 100.0%  | 3     |
+| nova.delete_server          | 9.903     | 37.147    | 60.946    | 56.875        | 58.911        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.285     | 5.154     | 6.682     | 6.644         | 6.663         | 100.0%  | 3     |
+| total                       | 330.782   | 333.862   | 339.373   | 337.784       | 338.579       | 100.0%  | 3     |
+| vm.run_command              | 171.985   | 201.383   | 235.307   | 227.617       | 231.462       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.305     | 2.421     | 4.871     | 4.314         | 4.593         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.402     | 8.885     | 13.594    | 12.407        | 13.0          | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 339.492558002
+Full duration: 385.326843023
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8d35b591-ac81-424c-916d-dced1d1b51d4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8d35b591-ac81-424c-916d-dced1d1b51d4
+
+Using task: 8d35b591-ac81-424c-916d-dced1d1b51d4
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileM158IT -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 48054},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file6L0NhS -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 34874},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileL1z2EE -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10868}]
+================================================================================
+
+====> {"randread a 64k": [31265, 26663]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:12:58 20422 >>>> Start rally with opts 'task start /tmp/filerOM6qj --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filedUh8Bg
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  5919bfba-0422-430d-997a-7c93f7f68952: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:14:32 20619 >>>> Start io test
+04:14:32 20619 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+04:14:32 20617 >>>> Start io test
+04:14:32 20617 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+04:14:33 20618 >>>> Start io test
+04:14:33 20618 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+04:15:34 20617 >>>> Test finished
+04:15:36 20619 >>>> Test finished
+04:15:36 20618 >>>> Test finished
+2015-02-08 04:16:08.971 20422 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 073429f9-9553-46ed-ac1e-3adf3f83b029.
+
+--------------------------------------------------------------------------------
+Task 5919bfba-0422-430d-997a-7c93f7f68952: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filedUh8Bg',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.312     | 1.384     | 1.444     | 1.434         | 1.439         | 100.0%  | 3     |
+| nova.boot_server            | 60.937    | 61.626    | 62.303    | 62.171        | 62.237        | 100.0%  | 3     |
+| nova.delete_server          | 5.124     | 9.767     | 12.175    | 12.14         | 12.157        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.6       | 1.645     | 1.697     | 1.685         | 1.691         | 100.0%  | 3     |
+| total                       | 148.661   | 155.004   | 158.26    | 158.226       | 158.243       | 100.0%  | 3     |
+| vm.run_command              | 60.691    | 62.348    | 63.269    | 63.232        | 63.251        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.298     | 2.452     | 6.104     | 5.074         | 5.589         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.333     | 6.876     | 7.759     | 7.515         | 7.637         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 158.382258177
+Full duration: 188.079952002
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 5919bfba-0422-430d-997a-7c93f7f68952 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 5919bfba-0422-430d-997a-7c93f7f68952
+
+Using task: 5919bfba-0422-430d-997a-7c93f7f68952
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileSSIH46 -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 96822},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file2c9nrm -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 92380},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filedxJefl -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 85881}]
+================================================================================
+
+====> {"read a 64k": [91694, 7781]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:16:12 20896 >>>> Start rally with opts 'task start /tmp/filekpH6Xn --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filearhMTu
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  793b0236-ce2f-40b5-b1be-e3dcb867dbe5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:17:47 21092 >>>> Start io test
+04:17:47 21092 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+04:17:48 21093 >>>> Start io test
+04:17:48 21093 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+04:17:52 21091 >>>> Start io test
+04:17:52 21091 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+04:18:54 21091 >>>> Test finished
+04:18:55 21093 >>>> Test finished
+04:18:55 21092 >>>> Test finished
+2015-02-08 04:19:26.569 20896 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: f1cd9e32-c3ab-44cf-9b2e-d2a5c3ab7d3f.
+
+--------------------------------------------------------------------------------
+Task 793b0236-ce2f-40b5-b1be-e3dcb867dbe5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filearhMTu',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.329     | 1.431     | 1.6       | 1.553         | 1.576         | 100.0%  | 3     |
+| nova.boot_server            | 59.75     | 62.448    | 66.327    | 65.315        | 65.821        | 100.0%  | 3     |
+| nova.delete_server          | 5.166     | 8.227     | 9.764     | 9.761         | 9.763         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.669     | 1.803     | 1.996     | 1.945         | 1.97          | 100.0%  | 3     |
+| total                       | 153.152   | 158.751   | 163.843   | 162.925       | 163.384       | 100.0%  | 3     |
+| vm.run_command              | 61.444    | 62.292    | 62.726    | 62.722        | 62.724        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.106     | 6.11      | 6.113     | 6.113         | 6.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.289     | 7.922     | 8.712     | 8.522         | 8.617         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 163.902353048
+Full duration: 190.593609095
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 793b0236-ce2f-40b5-b1be-e3dcb867dbe5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 793b0236-ce2f-40b5-b1be-e3dcb867dbe5
+
+Using task: 793b0236-ce2f-40b5-b1be-e3dcb867dbe5
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filewG5auY -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 96590},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileDmAbvT -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87036},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file9EBT5G -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 85956}]
+================================================================================
+
+====> {"read a 64k": [89860, 8277]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 64k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:19:30 21433 >>>> Start rally with opts 'task start /tmp/file8CgslP --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filebQkvFZ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8ef48348-00e0-4fc6-aa30-48ced6af74aa: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:21:16 21629 >>>> Start io test
+04:21:16 21629 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+04:21:20 21627 >>>> Start io test
+04:21:20 21627 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+04:21:22 21628 >>>> Start io test
+04:21:22 21628 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+04:22:25 21627 >>>> Test finished
+04:22:25 21629 >>>> Test finished
+04:22:26 21628 >>>> Test finished
+2015-02-08 04:23:02.741 21433 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d651454f-1264-4c17-b2d4-de8a21af3d84.
+
+--------------------------------------------------------------------------------
+Task 8ef48348-00e0-4fc6-aa30-48ced6af74aa: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filebQkvFZ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.416     | 1.652     | 1.885     | 1.839         | 1.862         | 100.0%  | 3     |
+| nova.boot_server            | 61.576    | 62.167    | 63.142    | 62.871        | 63.007        | 100.0%  | 3     |
+| nova.delete_server          | 5.108     | 7.509     | 12.152    | 10.775        | 11.464        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.664     | 3.325     | 6.613     | 5.63          | 6.121         | 100.0%  | 3     |
+| total                       | 157.89    | 163.165   | 169.106   | 167.785       | 168.446       | 100.0%  | 3     |
+| vm.run_command              | 62.889    | 63.305    | 63.756    | 63.659        | 63.707        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.1       | 6.109     | 6.113     | 6.113         | 6.113         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.757     | 11.298    | 12.685    | 12.638        | 12.661        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 169.206213951
+Full duration: 209.484374046
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8ef48348-00e0-4fc6-aa30-48ced6af74aa --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8ef48348-00e0-4fc6-aa30-48ced6af74aa
+
+Using task: 8ef48348-00e0-4fc6-aa30-48ced6af74aa
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file9z0Fbs -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 84881},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filez9U2O5 -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86992},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file7jkppV -i 1 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88016}]
+================================================================================
+
+====> {"read a 64k": [86629, 2260]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:23:06 21978 >>>> Start rally with opts 'task start /tmp/fileCG9xio --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewE7uNX
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3abb8511-1e93-4241-9ee7-f2f4221eff20: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:24:46 22174 >>>> Start io test
+04:24:46 22174 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+04:24:47 22172 >>>> Start io test
+04:24:47 22172 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+04:24:47 22173 >>>> Start io test
+04:24:47 22173 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+04:26:52 22173 >>>> Test finished
+04:26:54 22172 >>>> Test finished
+04:27:04 22174 >>>> Test finished
+2015-02-08 04:27:50.016 21978 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 481ac5c2-a07b-4526-ba83-6a8d75dedca0.
+
+--------------------------------------------------------------------------------
+Task 3abb8511-1e93-4241-9ee7-f2f4221eff20: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewE7uNX',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.387     | 1.472     | 1.64      | 1.59          | 1.615         | 100.0%  | 3     |
+| nova.boot_server            | 59.435    | 61.663    | 64.875    | 64.036        | 64.456        | 100.0%  | 3     |
+| nova.delete_server          | 5.128     | 13.613    | 18.923    | 18.496        | 18.71         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.582     | 6.655     | 6.758     | 6.732         | 6.745         | 100.0%  | 3     |
+| total                       | 235.479   | 236.771   | 239.31    | 238.553       | 238.931       | 100.0%  | 3     |
+| vm.run_command              | 124.205   | 129.273   | 137.069   | 134.964       | 136.017       | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.092     | 4.766     | 6.113     | 6.109         | 6.111         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.484     | 11.066    | 14.205    | 13.466        | 13.835        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 239.470646143
+Full duration: 280.715167999
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3abb8511-1e93-4241-9ee7-f2f4221eff20 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3abb8511-1e93-4241-9ee7-f2f4221eff20
+
+Using task: 3abb8511-1e93-4241-9ee7-f2f4221eff20
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filewisljU -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80886},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileBSUYtv -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 71785},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file0HNpB0 -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 36555}]
+================================================================================
+
+====> {"randread a 256k": [63075, 33112]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:27:54 22513 >>>> Start rally with opts 'task start /tmp/fileBn8qPc --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filegpecvG
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  32b31e1a-0d23-412f-addf-ba2d1f8e65d9: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:29:33 22709 >>>> Start io test
+04:29:33 22709 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+04:29:34 22708 >>>> Start io test
+04:29:34 22708 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+04:29:35 22707 >>>> Start io test
+04:29:35 22707 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+04:31:29 22709 >>>> Test finished
+04:31:32 22708 >>>> Test finished
+04:31:55 22707 >>>> Test finished
+2015-02-08 04:32:30.143 22513 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8a8137cc-5649-4eb5-9a25-4397b6de1019.
+
+--------------------------------------------------------------------------------
+Task 32b31e1a-0d23-412f-addf-ba2d1f8e65d9: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filegpecvG',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.517     | 3.159     | 6.39      | 5.426         | 5.908         | 100.0%  | 3     |
+| nova.boot_server            | 61.943    | 65.005    | 67.837    | 67.317        | 67.577        | 100.0%  | 3     |
+| nova.delete_server          | 9.836     | 19.827    | 28.242    | 26.875        | 27.559        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.482     | 6.562     | 6.7       | 6.661         | 6.68          | 100.0%  | 3     |
+| total                       | 231.318   | 236.534   | 242.613   | 241.224       | 241.918       | 100.0%  | 3     |
+| vm.run_command              | 114.631   | 124.047   | 140.193   | 135.618       | 137.905       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.676     | 3.39      | 5.388     | 5.131         | 5.259         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.6       | 9.314     | 12.686    | 11.68         | 12.183        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 242.772460938
+Full duration: 273.41289711
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 32b31e1a-0d23-412f-addf-ba2d1f8e65d9 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 32b31e1a-0d23-412f-addf-ba2d1f8e65d9
+
+Using task: 32b31e1a-0d23-412f-addf-ba2d1f8e65d9
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filelufCrl -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 82316},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file5oPuOD -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 73212},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file5zQrVa -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20493}]
+================================================================================
+
+====> {"randread a 256k": [58673, 47202]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:32:34 23044 >>>> Start rally with opts 'task start /tmp/filesBizOD --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filemrkLdh
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  739b5967-0338-4c1a-b62e-fcfbd08d5b68: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:34:14 23238 >>>> Start io test
+04:34:14 23238 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+04:34:15 23240 >>>> Start io test
+04:34:15 23240 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+04:34:23 23239 >>>> Start io test
+04:34:23 23239 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+04:36:36 23238 >>>> Test finished
+04:36:42 23239 >>>> Test finished
+04:36:42 23240 >>>> Test finished
+2015-02-08 04:37:31.459 23044 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 73c67b08-c370-4ef4-98e8-c2b923dc388d.
+
+--------------------------------------------------------------------------------
+Task 739b5967-0338-4c1a-b62e-fcfbd08d5b68: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filemrkLdh',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.377     | 1.499     | 1.564     | 1.562         | 1.563         | 100.0%  | 3     |
+| nova.boot_server            | 63.112    | 63.733    | 64.654    | 64.41         | 64.532        | 100.0%  | 3     |
+| nova.delete_server          | 7.479     | 11.248    | 14.263    | 13.811        | 14.037        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.558     | 4.949     | 6.66      | 6.654         | 6.657         | 100.0%  | 3     |
+| total                       | 242.669   | 246.243   | 248.793   | 248.488       | 248.641       | 100.0%  | 3     |
+| vm.run_command              | 133.273   | 137.081   | 138.998   | 138.992       | 138.995       | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.092     | 4.165     | 5.669     | 5.482         | 5.575         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.608     | 9.163     | 12.248    | 11.325        | 11.787        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 248.887854099
+Full duration: 294.444478989
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 739b5967-0338-4c1a-b62e-fcfbd08d5b68 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 739b5967-0338-4c1a-b62e-fcfbd08d5b68
+
+Using task: 739b5967-0338-4c1a-b62e-fcfbd08d5b68
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filesZaTGZ -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 75858},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filevQ259z -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 61209},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filevZHKW5 -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 70162}]
+================================================================================
+
+====> {"randread a 256k": [69076, 10443]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:37:35 23567 >>>> Start rally with opts 'task start /tmp/filedK1Atl --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewDejyo
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  acd44fc4-425a-4d74-aba4-4189c08c7497: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:39:21 23761 >>>> Start io test
+04:39:21 23761 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+04:39:28 23762 >>>> Start io test
+04:39:28 23762 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+04:42:35 23761 >>>> Barrier timeouted
+04:42:35 23762 >>>> Barrier timeouted
+04:43:22 23762 >>>> Test finished
+04:43:22 23761 >>>> Test finished
+2015-02-08 04:44:27.949 23567 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d912c821-d47e-4a87-9338-814a7e786c74.
+
+--------------------------------------------------------------------------------
+Task acd44fc4-425a-4d74-aba4-4189c08c7497: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewDejyo',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.436     | 1.912     | 2.389     | 2.293         | 2.341         | 66.7%   | 3     |
+| nova.boot_server            | 62.781    | 64.235    | 65.689    | 65.398        | 65.544        | 66.7%   | 3     |
+| nova.delete_server          | 9.847     | 9.931     | 10.016    | 9.999         | 10.007        | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.802     | 7.98      | 8.159     | 8.123         | 8.141         | 66.7%   | 3     |
+| total                       | 345.045   | 345.11    | 345.175   | 345.162       | 345.169       | 66.7%   | 3     |
+| vm.run_command              | 46.693    | 46.822    | 46.95     | 46.925        | 46.938        | 66.7%   | 3     |
+| vm.wait_for_ping            | 4.633     | 5.368     | 6.103     | 5.956         | 6.029         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 6.995     | 9.269     | 11.544    | 11.089        | 11.316        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 345.318270922
+Full duration: 409.839308023
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report acd44fc4-425a-4d74-aba4-4189c08c7497 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results acd44fc4-425a-4d74-aba4-4189c08c7497
+
+Using task: acd44fc4-425a-4d74-aba4-4189c08c7497
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileKfKe0H -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 108004},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file5u1vOZ -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 101816}]
+================================================================================
+
+====> {"read a 256k": [104910, 4375]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:44:32 24092 >>>> Start rally with opts 'task start /tmp/filexVCGgo --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filez4KNfO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7ce88724-7df6-4b49-9f26-e49a345647cc: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:46:12 24297 >>>> Start io test
+04:46:12 24297 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+04:46:16 24296 >>>> Start io test
+04:46:16 24296 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+04:46:18 24295 >>>> Start io test
+04:46:18 24295 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+04:47:20 24297 >>>> Test finished
+04:47:21 24295 >>>> Test finished
+04:47:23 24296 >>>> Test finished
+2015-02-08 04:47:53.995 24092 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e9aafec8-b8da-4b44-b31e-bf468e53e0e2.
+
+--------------------------------------------------------------------------------
+Task 7ce88724-7df6-4b49-9f26-e49a345647cc: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filez4KNfO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.438     | 1.525     | 1.687     | 1.64          | 1.663         | 100.0%  | 3     |
+| nova.boot_server            | 59.839    | 61.903    | 63.582    | 63.323        | 63.452        | 100.0%  | 3     |
+| nova.delete_server          | 5.175     | 7.477     | 11.978    | 10.638        | 11.308        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.6       | 1.654     | 1.757     | 1.727         | 1.742         | 100.0%  | 3     |
+| total                       | 156.057   | 160.483   | 163.223   | 163.012       | 163.117       | 100.0%  | 3     |
+| vm.run_command              | 62.062    | 63.076    | 64.538    | 64.156        | 64.347        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.312     | 3.764     | 6.326     | 5.992         | 6.159         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.926     | 11.424    | 14.171    | 13.972        | 14.071        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 163.290655851
+Full duration: 199.127013922
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7ce88724-7df6-4b49-9f26-e49a345647cc --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7ce88724-7df6-4b49-9f26-e49a345647cc
+
+Using task: 7ce88724-7df6-4b49-9f26-e49a345647cc
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileBZmu7u -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86069},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileMJWgkx -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86387},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filen06XzA -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93582}]
+================================================================================
+
+====> {"read a 256k": [88679, 6008]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 256k --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:47:58 24633 >>>> Start rally with opts 'task start /tmp/filelosPDk --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filecw3NYv
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  62beae66-7fee-4826-b23b-d1e2edbf6e49: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:49:33 24828 >>>> Start io test
+04:49:33 24828 >>>> Ready and waiting on barrier. Will wait at most 204 seconds
+04:49:38 24827 >>>> Start io test
+04:49:38 24827 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+04:49:40 24829 >>>> Start io test
+04:49:40 24829 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+04:50:40 24828 >>>> Test finished
+04:50:41 24829 >>>> Test finished
+04:50:42 24827 >>>> Test finished
+2015-02-08 04:51:17.634 24633 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 30bbf66d-3e06-458e-b6cb-0aa9bc58c3ee.
+
+--------------------------------------------------------------------------------
+Task 62beae66-7fee-4826-b23b-d1e2edbf6e49: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filecw3NYv',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.434     | 3.232     | 6.549     | 5.582         | 6.066         | 100.0%  | 3     |
+| nova.boot_server            | 60.815    | 63.156    | 66.272    | 65.493        | 65.882        | 100.0%  | 3     |
+| nova.delete_server          | 5.115     | 5.141     | 5.162     | 5.158         | 5.16          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.609     | 1.777     | 1.9       | 1.884         | 1.892         | 100.0%  | 3     |
+| total                       | 154.384   | 157.126   | 161.408   | 160.244       | 160.826       | 100.0%  | 3     |
+| vm.run_command              | 60.477    | 61.402    | 62.28     | 62.114        | 62.197        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.09      | 4.614     | 6.111     | 6.017         | 6.064         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.593     | 8.644     | 12.412    | 11.315        | 11.864        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 161.592362165
+Full duration: 196.78255105
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 62beae66-7fee-4826-b23b-d1e2edbf6e49 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 62beae66-7fee-4826-b23b-d1e2edbf6e49
+
+Using task: 62beae66-7fee-4826-b23b-d1e2edbf6e49
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file0ahPT6 -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 101168},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileOyfioD -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 92857},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filewRMU07 -i 1 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86159}]
+================================================================================
+
+====> {"read a 256k": [93394, 10633]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:51:21 25123 >>>> Start rally with opts 'task start /tmp/fileHbzOND --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileeduZsF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fd529d00-5199-43fc-87f7-ada79955a2a4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:53:10 25320 >>>> Start io test
+04:53:10 25320 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+04:53:11 25319 >>>> Start io test
+04:53:11 25319 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+04:53:11 25318 >>>> Start io test
+04:53:11 25318 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+04:54:57 25319 >>>> Test finished
+04:55:02 25320 >>>> Test finished
+04:55:03 25318 >>>> Test finished
+2015-02-08 04:55:58.443 25123 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b413df76-2a5b-4277-8de5-0c1c43152ac6.
+
+--------------------------------------------------------------------------------
+Task fd529d00-5199-43fc-87f7-ada79955a2a4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileeduZsF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.411     | 1.569     | 1.69      | 1.674         | 1.682         | 100.0%  | 3     |
+| nova.boot_server            | 60.735    | 62.942    | 66.269    | 65.379        | 65.824        | 100.0%  | 3     |
+| nova.delete_server          | 7.42      | 9.731     | 12.07     | 11.597        | 11.833        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.595     | 4.982     | 6.834     | 6.771         | 6.802         | 100.0%  | 3     |
+| total                       | 205.318   | 212.848   | 218.315   | 217.634       | 217.975       | 100.0%  | 3     |
+| vm.run_command              | 106.017   | 109.443   | 111.364   | 111.281       | 111.322       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.094     | 6.104     | 6.113     | 6.111         | 6.112         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.444     | 10.216    | 11.984    | 11.832        | 11.908        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 218.411695004
+Full duration: 274.046303034
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fd529d00-5199-43fc-87f7-ada79955a2a4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fd529d00-5199-43fc-87f7-ada79955a2a4
+
+Using task: fd529d00-5199-43fc-87f7-ada79955a2a4
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file6tx1kh -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 101681},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileM0llPC -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 78824},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileos3rXL -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 72668}]
+================================================================================
+
+====> {"randread a 1024k": [84391, 21618]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+04:56:02 25654 >>>> Start rally with opts 'task start /tmp/fileuiGk5R --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filemjpp91
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  28268549-0562-4c02-9cb6-aac6b5fecbf5: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+04:57:39 25850 >>>> Start io test
+04:57:39 25850 >>>> Ready and waiting on barrier. Will wait at most 203 seconds
+04:57:45 25852 >>>> Start io test
+04:57:45 25852 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+04:57:45 25851 >>>> Start io test
+04:57:45 25851 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+04:59:32 25850 >>>> Test finished
+04:59:39 25851 >>>> Test finished
+04:59:39 25852 >>>> Test finished
+2015-02-08 05:00:21.954 25654 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 9c9fac38-55dd-441a-b796-3f5103bcff06.
+
+--------------------------------------------------------------------------------
+Task 28268549-0562-4c02-9cb6-aac6b5fecbf5: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filemjpp91',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.34      | 3.056     | 6.359     | 5.381         | 5.87          | 100.0%  | 3     |
+| nova.boot_server            | 63.772    | 66.022    | 69.13     | 68.337        | 68.733        | 100.0%  | 3     |
+| nova.delete_server          | 7.493     | 9.089     | 12.202    | 11.276        | 11.739        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.546     | 1.77      | 1.986     | 1.944         | 1.965         | 100.0%  | 3     |
+| total                       | 209.572   | 212.238   | 216.06    | 215.065       | 215.562       | 100.0%  | 3     |
+| vm.run_command              | 107.119   | 111.544   | 113.794   | 113.779       | 113.786       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.282     | 2.352     | 6.092     | 5.01          | 5.551         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.418     | 8.999     | 11.886    | 11.047        | 11.467        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 216.108293056
+Full duration: 256.594227076
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 28268549-0562-4c02-9cb6-aac6b5fecbf5 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 28268549-0562-4c02-9cb6-aac6b5fecbf5
+
+Using task: 28268549-0562-4c02-9cb6-aac6b5fecbf5
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filec8gl5j -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93787},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file7qisMV -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80563},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file9H97NF -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 76548}]
+================================================================================
+
+====> {"randread a 1024k": [83632, 12756]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a randread --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:00:26 26175 >>>> Start rally with opts 'task start /tmp/fileB4vQCD --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filemGoBvx
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8972ec9b-5ef9-4936-a27a-35b270b7bfd6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:02:10 26371 >>>> Start io test
+05:02:10 26371 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+05:02:12 26369 >>>> Start io test
+05:02:12 26369 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+05:02:14 26370 >>>> Start io test
+05:02:14 26370 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+05:04:00 26371 >>>> Test finished
+05:04:06 26369 >>>> Test finished
+05:04:08 26370 >>>> Test finished
+2015-02-08 05:04:56.216 26175 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 205dd318-7b68-4831-aa73-601adc8d129c.
+
+--------------------------------------------------------------------------------
+Task 8972ec9b-5ef9-4936-a27a-35b270b7bfd6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filemGoBvx',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.422     | 1.539     | 1.606     | 1.602         | 1.604         | 100.0%  | 3     |
+| nova.boot_server            | 61.314    | 64.564    | 68.446    | 67.543        | 67.995        | 100.0%  | 3     |
+| nova.delete_server          | 5.108     | 8.983     | 12.076    | 11.614        | 11.845        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.638     | 6.646     | 6.656     | 6.654         | 6.655         | 100.0%  | 3     |
+| total                       | 213.22    | 218.145   | 221.977   | 221.429       | 221.703       | 100.0%  | 3     |
+| vm.run_command              | 105.769   | 110.486   | 113.763   | 113.396       | 113.579       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.1       | 6.108     | 6.112     | 6.112         | 6.112         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.736     | 11.22     | 13.883    | 13.514        | 13.699        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 222.02217412
+Full duration: 267.403285027
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8972ec9b-5ef9-4936-a27a-35b270b7bfd6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8972ec9b-5ef9-4936-a27a-35b270b7bfd6
+
+Using task: 8972ec9b-5ef9-4936-a27a-35b270b7bfd6
+================================================================================
+[{u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileNsKKQX -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 93992},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileFxGZw1 -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 85549},
+ {u'__meta__': {u'action': u'randread',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file3KOpCP -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 65888}]
+================================================================================
+
+====> {"randread a 1024k": [81809, 20393]}
+
+================================================================================
++ for op in '$ops'
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:05:00 26719 >>>> Start rally with opts 'task start /tmp/fileYaRVs8 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileh8n0jp
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  23e7109e-3a30-468d-adcb-87138980931a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:06:41 26916 >>>> Start io test
+05:06:41 26916 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+05:06:42 26914 >>>> Start io test
+05:06:42 26914 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+05:06:54 26915 >>>> Start io test
+05:06:54 26915 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+05:07:59 26914 >>>> Test finished
+05:08:00 26916 >>>> Test finished
+05:08:00 26915 >>>> Test finished
+2015-02-08 05:08:39.982 26719 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1eb245be-e3b4-4070-aade-4a3ec624c945.
+
+--------------------------------------------------------------------------------
+Task 23e7109e-3a30-468d-adcb-87138980931a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileh8n0jp',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.477     | 4.761     | 6.423     | 6.415         | 6.419         | 100.0%  | 3     |
+| nova.boot_server            | 63.393    | 65.136    | 67.456    | 66.877        | 67.167        | 100.0%  | 3     |
+| nova.delete_server          | 5.198     | 6.749     | 9.81      | 8.896         | 9.353         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.727     | 3.514     | 6.846     | 5.871         | 6.359         | 100.0%  | 3     |
+| total                       | 165.902   | 171.19    | 181.184   | 178.244       | 179.714       | 100.0%  | 3     |
+| vm.run_command              | 64.228    | 64.863    | 65.202    | 65.193        | 65.198        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.087     | 3.039     | 4.938     | 4.369         | 4.654         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.402     | 8.183     | 13.575    | 11.974        | 12.775        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 181.237936974
+Full duration: 216.883905888
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 23e7109e-3a30-468d-adcb-87138980931a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 23e7109e-3a30-468d-adcb-87138980931a
+
+Using task: 23e7109e-3a30-468d-adcb-87138980931a
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileOix7wc -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 95583},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileTaPoJq -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86063},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/files1BdbM -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86661}]
+================================================================================
+
+====> {"read a 1024k": [89435, 7540]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:08:44 27235 >>>> Start rally with opts 'task start /tmp/filebCnZJn --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileoDugfN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f66db582-fea4-40cd-a030-0c65f387bc76: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:10:08 27432 >>>> Start io test
+05:10:08 27432 >>>> Ready and waiting on barrier. Will wait at most 215 seconds
+05:10:09 27433 >>>> Start io test
+05:10:09 27433 >>>> Ready and waiting on barrier. Will wait at most 214 seconds
+05:13:44 27433 >>>> Barrier timeouted
+05:13:44 27432 >>>> Barrier timeouted
+05:14:32 27433 >>>> Test finished
+05:14:33 27432 >>>> Test finished
+2015-02-08 05:15:37.838 27235 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 53080eac-94a0-4e75-872b-b6037d3452e5.
+
+--------------------------------------------------------------------------------
+Task f66db582-fea4-40cd-a030-0c65f387bc76: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileoDugfN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.409     | 1.424     | 1.439     | 1.436         | 1.438         | 66.7%   | 3     |
+| nova.boot_server            | 49.305    | 50.575    | 51.846    | 51.591        | 51.719        | 66.7%   | 3     |
+| nova.delete_server          | 9.701     | 9.899     | 10.098    | 10.058        | 10.078        | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 6.984     | 7.16      | 7.335     | 7.3           | 7.318         | 66.7%   | 3     |
+| total                       | 356.217   | 356.535   | 356.853   | 356.789       | 356.821       | 66.7%   | 3     |
+| vm.run_command              | 48.423    | 48.817    | 49.211    | 49.132        | 49.172        | 66.7%   | 3     |
+| vm.wait_for_ping            | 4.92      | 5.506     | 6.093     | 5.976         | 6.035         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 8.669     | 9.893     | 11.117    | 10.872        | 10.994        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 356.929191113
+Full duration: 411.290596962
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f66db582-fea4-40cd-a030-0c65f387bc76 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f66db582-fea4-40cd-a030-0c65f387bc76
+
+Using task: f66db582-fea4-40cd-a030-0c65f387bc76
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileE2E8Nq -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 99005},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileOFqXFC -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 92046}]
+================================================================================
+
+====> {"read a 1024k": [95525, 4920]}
+
+================================================================================
++ for xxx in '$three_times'
++ io_opts='--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2'
++ python run_rally_test.py -l -o '--type iozone -a read --iodepth 16 --blocksize 1m --iosize r2' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+05:15:41 27751 >>>> Start rally with opts 'task start /tmp/filePYUOYZ --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileAHdwmJ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  4240bf0e-40c6-43d2-bb9e-4bec28b49e03: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+05:17:14 27948 >>>> Start io test
+05:17:14 27948 >>>> Ready and waiting on barrier. Will wait at most 206 seconds
+05:17:16 27947 >>>> Start io test
+05:17:16 27947 >>>> Ready and waiting on barrier. Will wait at most 205 seconds
+05:17:20 27949 >>>> Start io test
+05:17:20 27949 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+05:18:25 27949 >>>> Test finished
+05:18:26 27948 >>>> Test finished
+05:18:26 27947 >>>> Test finished
+2015-02-08 05:18:59.409 27751 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 42416ed9-1598-4c3c-b5c3-5a5ae77c6a83.
+
+--------------------------------------------------------------------------------
+Task 4240bf0e-40c6-43d2-bb9e-4bec28b49e03: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileAHdwmJ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.39      | 1.433     | 1.514     | 1.491         | 1.502         | 100.0%  | 3     |
+| nova.boot_server            | 58.483    | 60.455    | 61.907    | 61.721        | 61.814        | 100.0%  | 3     |
+| nova.delete_server          | 7.47      | 7.492     | 7.521     | 7.514         | 7.517         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.497     | 1.564     | 1.613     | 1.607         | 1.61          | 100.0%  | 3     |
+| total                       | 158.334   | 158.884   | 159.296   | 159.241       | 159.269       | 100.0%  | 3     |
+| vm.run_command              | 65.142    | 65.649    | 66.049    | 65.991        | 66.02         | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.077     | 3.694     | 6.11      | 5.867         | 5.988         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.78      | 9.677     | 13.139    | 12.134        | 12.636        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 159.385190964
+Full duration: 194.767752171
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 4240bf0e-40c6-43d2-bb9e-4bec28b49e03 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 4240bf0e-40c6-43d2-bb9e-4bec28b49e03
+
+Using task: 4240bf0e-40c6-43d2-bb9e-4bec28b49e03
+================================================================================
+[{u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileEcLEHF -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 89275},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileTVhZsd -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87250},
+ {u'__meta__': {u'action': u'read',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file4oss6O -i 1 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 81526}]
+================================================================================
+
+====> {"read a 1024k": [86017, 5683]}
+
+================================================================================
++ set -e
++ type=iozone
++ bsizes='1k 4k 64k 256k 1m'
++ ops='write randwrite'
++ osync='s a'
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:37:35 32301 >>>> Start rally with opts 'task start /tmp/filehyB17y --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileEGCEsO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  dd02286f-f875-4bc6-9f82-5998b8ffe958: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:39:49 329 >>>> Start io test
+10:39:49 329 >>>> Ready and waiting on barrier. Will wait at most 166 seconds
+10:39:52 328 >>>> Start io test
+10:39:52 328 >>>> Ready and waiting on barrier. Will wait at most 162 seconds
+10:39:52 327 >>>> Start io test
+10:39:52 327 >>>> Ready and waiting on barrier. Will wait at most 162 seconds
+10:40:21 327 >>>> Test finished
+10:40:22 329 >>>> Test finished
+10:40:22 328 >>>> Test finished
+2015-02-08 10:40:49.573 32301 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 75a56ef6-061f-4ee1-ab39-d59802d7f847.
+
+--------------------------------------------------------------------------------
+Task dd02286f-f875-4bc6-9f82-5998b8ffe958: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileEGCEsO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.494     | 1.595     | 1.669     | 1.66          | 1.664         | 100.0%  | 3     |
+| nova.boot_server            | 63.349    | 66.543    | 69.063    | 68.694        | 68.878        | 100.0%  | 3     |
+| nova.delete_server          | 11.99     | 12.006    | 12.021    | 12.018        | 12.02         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.732     | 1.8       | 1.878     | 1.861         | 1.87          | 100.0%  | 3     |
+| total                       | 134.27    | 134.718   | 134.954   | 134.949       | 134.951       | 100.0%  | 3     |
+| vm.run_command              | 29.093    | 29.392    | 29.605    | 29.58         | 29.592        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.706     | 4.303     | 6.107     | 6.105         | 6.106         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.616    | 12.898    | 14.109    | 14.081        | 14.095        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 135.007599831
+Full duration: 190.422322035
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report dd02286f-f875-4bc6-9f82-5998b8ffe958 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results dd02286f-f875-4bc6-9f82-5998b8ffe958
+
+Using task: dd02286f-f875-4bc6-9f82-5998b8ffe958
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file2snTzk -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileD84sYa -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileC5RuFR -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21}]
+================================================================================
+
+====> {"write s 1k": [21, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:40:53 690 >>>> Start rally with opts 'task start /tmp/fileKkmiXX --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileaMkYXg
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  9f989f76-5d56-4243-9ef7-03ccc6139977: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:42:37 928 >>>> Start io test
+10:42:37 928 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+10:42:39 926 >>>> Start io test
+10:42:39 926 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+10:45:53 926 >>>> Barrier timeouted
+10:45:53 928 >>>> Barrier timeouted
+10:46:19 928 >>>> Test finished
+10:46:19 926 >>>> Test finished
+2015-02-08 10:47:14.718 690 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4422694e-4734-42c8-b1bd-3491877993a0.
+
+--------------------------------------------------------------------------------
+Task 9f989f76-5d56-4243-9ef7-03ccc6139977: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileaMkYXg',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.627     | 1.697     | 1.767     | 1.753         | 1.76          | 66.7%   | 3     |
+| nova.boot_server            | 62.447    | 63.224    | 64.001    | 63.845        | 63.923        | 66.7%   | 3     |
+| nova.delete_server          | 9.824     | 9.893     | 9.961     | 9.948         | 9.954         | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 6.915     | 7.129     | 7.344     | 7.301         | 7.322         | 66.7%   | 3     |
+| total                       | 319.656   | 321.858   | 324.061   | 323.62        | 323.84        | 66.7%   | 3     |
+| vm.run_command              | 26.584    | 26.605    | 26.626    | 26.622        | 26.624        | 66.7%   | 3     |
+| vm.wait_for_ping            | 4.885     | 5.493     | 6.101     | 5.979         | 6.04          | 66.7%   | 3     |
+| vm.wait_for_ssh             | 6.213     | 6.896     | 7.579     | 7.442         | 7.511         | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 324.234832048
+Full duration: 378.626694918
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 9f989f76-5d56-4243-9ef7-03ccc6139977 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 9f989f76-5d56-4243-9ef7-03ccc6139977
+
+Using task: 9f989f76-5d56-4243-9ef7-03ccc6139977
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileh4i51u -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filebWvGEv -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24}]
+================================================================================
+
+====> {"write s 1k": [24, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:47:18 1375 >>>> Start rally with opts 'task start /tmp/file44pQs6 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileViJvDS
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  31b1db69-7aad-4633-a9aa-37f45028799d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:49:00 1609 >>>> Start io test
+10:49:00 1609 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+10:49:02 1611 >>>> Start io test
+10:49:02 1611 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+10:49:04 1610 >>>> Start io test
+10:49:04 1610 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+10:49:31 1611 >>>> Test finished
+10:49:32 1609 >>>> Test finished
+10:49:32 1610 >>>> Test finished
+2015-02-08 10:49:58.068 1375 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 5c19c371-7fb6-4ede-bdb7-b331393b155a.
+
+--------------------------------------------------------------------------------
+Task 31b1db69-7aad-4633-a9aa-37f45028799d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileViJvDS',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.568     | 3.294     | 6.716     | 5.692         | 6.204         | 100.0%  | 3     |
+| nova.boot_server            | 60.302    | 61.997    | 63.025    | 62.953        | 62.989        | 100.0%  | 3     |
+| nova.delete_server          | 5.077     | 5.204     | 5.274     | 5.271         | 5.272         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.565     | 3.321     | 6.776     | 5.745         | 6.26          | 100.0%  | 3     |
+| total                       | 115.479   | 117.993   | 121.759   | 120.756       | 121.258       | 100.0%  | 3     |
+| vm.run_command              | 27.407    | 28.184    | 28.653    | 28.621        | 28.637        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.858     | 3.855     | 6.109     | 5.807         | 5.958         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.345     | 7.594     | 7.778     | 7.754         | 7.766         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 121.874637127
+Full duration: 156.813775063
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 31b1db69-7aad-4633-a9aa-37f45028799d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 31b1db69-7aad-4633-a9aa-37f45028799d
+
+Using task: 31b1db69-7aad-4633-a9aa-37f45028799d
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filexfdlTo -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filesCIFdb -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filereNbGe -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23}]
+================================================================================
+
+====> {"write s 1k": [23, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:50:01 1934 >>>> Start rally with opts 'task start /tmp/file5HOdaz --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileBw4JmB
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  98e0d5c2-b38f-45d3-9553-9ff5b9a7f419: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:51:40 2164 >>>> Start io test
+10:51:40 2164 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+10:51:44 2165 >>>> Start io test
+10:51:44 2165 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+10:51:52 2166 >>>> Start io test
+10:51:52 2166 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+10:52:21 2165 >>>> Test finished
+10:52:23 2166 >>>> Test finished
+10:52:23 2164 >>>> Test finished
+2015-02-08 10:52:43.488 1934 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 20ad0c24-64c8-4b68-bceb-3f1f4d58db2b.
+
+--------------------------------------------------------------------------------
+Task 98e0d5c2-b38f-45d3-9553-9ff5b9a7f419: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileBw4JmB',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.374     | 3.113     | 6.483     | 5.482         | 5.983         | 100.0%  | 3     |
+| nova.boot_server            | 61.529    | 62.848    | 63.528    | 63.52         | 63.524        | 100.0%  | 3     |
+| nova.delete_server          | 5.093     | 5.155     | 5.244     | 5.221         | 5.233         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.549     | 1.633     | 1.702     | 1.691         | 1.697         | 100.0%  | 3     |
+| total                       | 129.22    | 130.475   | 131.233   | 131.181       | 131.207       | 100.0%  | 3     |
+| vm.run_command              | 28.846    | 30.156    | 30.814    | 30.813        | 30.813        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.285     | 2.237     | 6.101     | 4.946         | 5.523         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.664     | 12.341    | 19.77     | 17.734        | 18.752        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 131.294897795
+Full duration: 156.272279024
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 98e0d5c2-b38f-45d3-9553-9ff5b9a7f419 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 98e0d5c2-b38f-45d3-9553-9ff5b9a7f419
+
+Using task: 98e0d5c2-b38f-45d3-9553-9ff5b9a7f419
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileeM7TyD -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filePmz7et -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileypi56E -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20}]
+================================================================================
+
+====> {"randwrite s 1k": [20, 1]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:52:47 2514 >>>> Start rally with opts 'task start /tmp/fileqwBIpi --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileWLpTjw
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  49664188-e738-40d1-a577-3cf08341f9c0: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:54:08 2714 >>>> Start io test
+10:54:08 2714 >>>> Ready and waiting on barrier. Will wait at most 218 seconds
+10:57:47 2714 >>>> Barrier timeouted
+10:58:07 2714 >>>> Test finished
+2015-02-08 10:59:07.017 2514 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ad931d98-8911-463d-9e4f-c9c8a02f8714.
+
+--------------------------------------------------------------------------------
+Task 49664188-e738-40d1-a577-3cf08341f9c0: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileWLpTjw',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.417     | 1.417     | 1.417     | 1.417         | 1.417         | 33.3%   | 3     |
+| nova.boot_server            | 39.48     | 39.48     | 39.48     | 39.48         | 39.48         | 33.3%   | 3     |
+| nova.delete_server          | 10.017    | 10.017    | 10.017    | 10.017        | 10.017        | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 6.774     | 6.774     | 6.774     | 6.774         | 6.774         | 33.3%   | 3     |
+| total                       | 323.168   | 323.168   | 323.168   | 323.168       | 323.168       | 33.3%   | 3     |
+| vm.run_command              | 20.65     | 20.65     | 20.65     | 20.65         | 20.65         | 33.3%   | 3     |
+| vm.wait_for_ping            | 8.11      | 8.11      | 8.11      | 8.11          | 8.11          | 33.3%   | 3     |
+| vm.wait_for_ssh             | 4.501     | 4.501     | 4.501     | 4.501         | 4.501         | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 323.242009878
+Full duration: 377.146957874
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 49664188-e738-40d1-a577-3cf08341f9c0 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 49664188-e738-40d1-a577-3cf08341f9c0
+
+Using task: 49664188-e738-40d1-a577-3cf08341f9c0
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file2MMnsw -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 35}]
+================================================================================
+
+====> {"randwrite s 1k": [35, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+10:59:10 3048 >>>> Start rally with opts 'task start /tmp/fileKKyxrI --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileEwTmTs
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f68bf877-0a14-4bbc-93aa-fb3989520b9a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:00:55 3254 >>>> Start io test
+11:00:55 3254 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+11:00:56 3252 >>>> Start io test
+11:00:56 3252 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+11:01:06 3253 >>>> Start io test
+11:01:06 3253 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+11:01:36 3253 >>>> Test finished
+11:01:36 3252 >>>> Test finished
+11:01:36 3254 >>>> Test finished
+2015-02-08 11:02:01.521 3048 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a31b53d3-fe03-4cc5-ad5d-97873d93b33f.
+
+--------------------------------------------------------------------------------
+Task f68bf877-0a14-4bbc-93aa-fb3989520b9a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileEwTmTs',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.446     | 3.164     | 6.57      | 5.551         | 6.061         | 100.0%  | 3     |
+| nova.boot_server            | 58.357    | 63.108    | 67.413    | 66.641        | 67.027        | 100.0%  | 3     |
+| nova.delete_server          | 5.086     | 6.682     | 9.7       | 8.812         | 9.256         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.807     | 1.86      | 1.949     | 1.924         | 1.937         | 100.0%  | 3     |
+| total                       | 127.869   | 131.07    | 132.673   | 132.672       | 132.672       | 100.0%  | 3     |
+| vm.run_command              | 30.034    | 30.088    | 30.17     | 30.148        | 30.159        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.427     | 2.408     | 6.105     | 5.022         | 5.563         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.761     | 10.526    | 12.142    | 12.049        | 12.095        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 132.716315985
+Full duration: 167.34110117
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f68bf877-0a14-4bbc-93aa-fb3989520b9a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f68bf877-0a14-4bbc-93aa-fb3989520b9a
+
+Using task: f68bf877-0a14-4bbc-93aa-fb3989520b9a
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileBpSPk6 -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileVksLoX -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileFoiQsW -i 2 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21}]
+================================================================================
+
+====> {"randwrite s 1k": [21, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1k == \1\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:02:05 3547 >>>> Start rally with opts 'task start /tmp/fileF1aCUK --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileG5YZ8m
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  6dc8f06c-6730-4b04-baa3-2a96e1850947: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:03:44 3779 >>>> Start io test
+11:03:44 3779 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+11:03:50 3780 >>>> Start io test
+11:03:50 3780 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+11:03:50 3781 >>>> Start io test
+11:03:50 3781 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+11:04:19 3779 >>>> Test finished
+11:04:20 3780 >>>> Test finished
+11:04:20 3781 >>>> Test finished
+2015-02-08 11:04:43.211 3547 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6b49a1b7-d327-4ccd-923c-f34a7953ce4a.
+
+--------------------------------------------------------------------------------
+Task 6dc8f06c-6730-4b04-baa3-2a96e1850947: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileG5YZ8m',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.377     | 1.433     | 1.479     | 1.472         | 1.476         | 100.0%  | 3     |
+| nova.boot_server            | 62.781    | 63.489    | 64.149    | 64.027        | 64.088        | 100.0%  | 3     |
+| nova.delete_server          | 5.104     | 5.421     | 5.89      | 5.766         | 5.828         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.595     | 1.838     | 2.019     | 1.995         | 2.007         | 100.0%  | 3     |
+| total                       | 125.873   | 126.765   | 128.523   | 127.998       | 128.26        | 100.0%  | 3     |
+| vm.run_command              | 29.287    | 29.498    | 29.71     | 29.667        | 29.689        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.821     | 6.346     | 8.121     | 7.716         | 7.919         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 9.832     | 12.785    | 15.14     | 14.788        | 14.964        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.609117985
+Full duration: 155.140303135
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 6dc8f06c-6730-4b04-baa3-2a96e1850947 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 6dc8f06c-6730-4b04-baa3-2a96e1850947
+
+Using task: 6dc8f06c-6730-4b04-baa3-2a96e1850947
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileH2qKUA -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileWwzFeW -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 87},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filepno6BN -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 86}]
+================================================================================
+
+====> {"write s 4k": [87, 1]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:04:46 4079 >>>> Start rally with opts 'task start /tmp/fileIrXOYd --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file7Uoq69
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  245eaa33-b291-478c-94fd-1971fe974be1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:06:26 4291 >>>> Start io test
+11:06:26 4291 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+11:06:32 4292 >>>> Start io test
+11:06:32 4292 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+11:06:36 4293 >>>> Start io test
+11:06:36 4293 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+11:07:04 4293 >>>> Test finished
+11:07:05 4291 >>>> Test finished
+11:07:05 4292 >>>> Test finished
+2015-02-08 11:07:29.712 4079 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 06b34830-18ac-4a0a-b33a-0a846bd92432.
+
+--------------------------------------------------------------------------------
+Task 245eaa33-b291-478c-94fd-1971fe974be1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file7Uoq69',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.452     | 3.082     | 6.259     | 5.314         | 5.787         | 100.0%  | 3     |
+| nova.boot_server            | 61.737    | 62.691    | 64.466    | 63.947        | 64.207        | 100.0%  | 3     |
+| nova.delete_server          | 5.146     | 5.169     | 5.204     | 5.194         | 5.199         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.636     | 3.309     | 6.472     | 5.542         | 6.007         | 100.0%  | 3     |
+| total                       | 125.955   | 127.47    | 130.204   | 129.414       | 129.809       | 100.0%  | 3     |
+| vm.run_command              | 28.431    | 28.865    | 29.086    | 29.084        | 29.085        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.496     | 3.857     | 6.106     | 5.878         | 5.992         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.495     | 12.666    | 18.481    | 17.589        | 18.035        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 130.31379199
+Full duration: 160.127550125
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 245eaa33-b291-478c-94fd-1971fe974be1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 245eaa33-b291-478c-94fd-1971fe974be1
+
+Using task: 245eaa33-b291-478c-94fd-1971fe974be1
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileNzRQAN -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 91},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileuHIQVp -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filetjj1rR -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 88}]
+================================================================================
+
+====> {"write s 4k": [89, 2]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:07:33 4743 >>>> Start rally with opts 'task start /tmp/fileb9BfA9 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileSVAROe
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f75b3508-274d-4d20-a997-dbfe534d19ea: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:08:55 4972 >>>> Start io test
+11:08:55 4972 >>>> Ready and waiting on barrier. Will wait at most 218 seconds
+11:08:57 4971 >>>> Start io test
+11:08:57 4971 >>>> Ready and waiting on barrier. Will wait at most 215 seconds
+11:12:33 4971 >>>> Barrier timeouted
+11:12:33 4972 >>>> Barrier timeouted
+11:13:01 4972 >>>> Test finished
+11:13:01 4971 >>>> Test finished
+2015-02-08 11:14:00.697 4743 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8b6b282c-9be6-4a99-9711-a1c5d65d7a3f.
+
+--------------------------------------------------------------------------------
+Task f75b3508-274d-4d20-a997-dbfe534d19ea: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileSVAROe',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.497     | 1.52      | 1.544     | 1.539         | 1.541         | 66.7%   | 3     |
+| nova.boot_server            | 49.726    | 51.049    | 52.371    | 52.106        | 52.238        | 66.7%   | 3     |
+| nova.delete_server          | 9.924     | 9.967     | 10.011    | 10.002        | 10.006        | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.541     | 7.586     | 7.631     | 7.622         | 7.626         | 66.7%   | 3     |
+| total                       | 330.652   | 330.659   | 330.666   | 330.664       | 330.665       | 66.7%   | 3     |
+| vm.run_command              | 27.662    | 27.663    | 27.664    | 27.664        | 27.664        | 66.7%   | 3     |
+| vm.wait_for_ping            | 6.111     | 6.417     | 6.723     | 6.662         | 6.693         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 6.434     | 6.479     | 6.524     | 6.515         | 6.519         | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 330.746035099
+Full duration: 384.400408983
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f75b3508-274d-4d20-a997-dbfe534d19ea --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f75b3508-274d-4d20-a997-dbfe534d19ea
+
+Using task: f75b3508-274d-4d20-a997-dbfe534d19ea
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileFM5QaP -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 101},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file7IYUS0 -i 0 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 100}]
+================================================================================
+
+====> {"write s 4k": [100, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:14:04 5407 >>>> Start rally with opts 'task start /tmp/fileM7d164 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file3djPOq
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  d3602ef0-a1c4-48f1-b573-b58611220be9: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:15:47 5682 >>>> Start io test
+11:15:47 5682 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+11:15:50 5683 >>>> Start io test
+11:15:50 5683 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+11:15:51 5681 >>>> Start io test
+11:15:51 5681 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+11:16:23 5683 >>>> Test finished
+11:16:23 5682 >>>> Test finished
+11:16:23 5681 >>>> Test finished
+2015-02-08 11:16:46.164 5407 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ac00b279-1794-4fb1-bdef-1bc622e26cc7.
+
+--------------------------------------------------------------------------------
+Task d3602ef0-a1c4-48f1-b573-b58611220be9: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file3djPOq',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.381     | 1.471     | 1.531     | 1.525         | 1.528         | 100.0%  | 3     |
+| nova.boot_server            | 60.201    | 61.391    | 62.768    | 62.455        | 62.611        | 100.0%  | 3     |
+| nova.delete_server          | 5.528     | 6.888     | 7.732     | 7.667         | 7.699         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.624     | 1.687     | 1.764     | 1.746         | 1.755         | 100.0%  | 3     |
+| total                       | 125.912   | 127.249   | 128.11    | 128.033       | 128.072       | 100.0%  | 3     |
+| vm.run_command              | 31.666    | 31.785    | 31.866    | 31.857        | 31.862        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.085     | 5.426     | 8.102     | 7.7           | 7.901         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.903    | 11.926    | 11.949    | 11.945        | 11.947        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 128.202951908
+Full duration: 159.013564825
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report d3602ef0-a1c4-48f1-b573-b58611220be9 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results d3602ef0-a1c4-48f1-b573-b58611220be9
+
+Using task: d3602ef0-a1c4-48f1-b573-b58611220be9
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileWEyq61 -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileRMVV0V -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileQjua6t -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79}]
+================================================================================
+
+====> {"randwrite s 4k": [79, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:16:50 6045 >>>> Start rally with opts 'task start /tmp/fileFtvmlZ --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filecGXBsw
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3c60ce93-cf5c-49fc-81cf-b4a00a7fb51d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:18:27 6298 >>>> Start io test
+11:18:27 6298 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+11:18:28 6296 >>>> Start io test
+11:18:28 6296 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+11:18:32 6297 >>>> Start io test
+11:18:32 6297 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+11:19:03 6297 >>>> Test finished
+11:19:03 6298 >>>> Test finished
+11:19:03 6296 >>>> Test finished
+2015-02-08 11:19:34.826 6045 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6cbe48f8-f0d5-4890-b7f0-9a39a9ee559e.
+
+--------------------------------------------------------------------------------
+Task 3c60ce93-cf5c-49fc-81cf-b4a00a7fb51d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filecGXBsw',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.414     | 1.542     | 1.67      | 1.645         | 1.657         | 100.0%  | 3     |
+| nova.boot_server            | 60.696    | 62.117    | 64.007    | 63.535        | 63.771        | 100.0%  | 3     |
+| nova.delete_server          | 5.139     | 5.295     | 5.411     | 5.396         | 5.404         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.621     | 1.807     | 1.9       | 1.9           | 1.9           | 100.0%  | 3     |
+| total                       | 121.503   | 125.144   | 126.966   | 126.965       | 126.965       | 100.0%  | 3     |
+| vm.run_command              | 31.616    | 31.71     | 31.768    | 31.764        | 31.766        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.522     | 5.086     | 6.096     | 5.805         | 5.951         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.618     | 7.707     | 8.887     | 8.633         | 8.76          | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 127.094724894
+Full duration: 162.131831884
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 3c60ce93-cf5c-49fc-81cf-b4a00a7fb51d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 3c60ce93-cf5c-49fc-81cf-b4a00a7fb51d
+
+Using task: 3c60ce93-cf5c-49fc-81cf-b4a00a7fb51d
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileVYgEWx -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 80},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filepck4eO -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileoo2yqs -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 79}]
+================================================================================
+
+====> {"randwrite s 4k": [79, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 4k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:19:38 6612 >>>> Start rally with opts 'task start /tmp/fileG1cz5o --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileSG83G0
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  b17dad8f-e2a1-4d33-8794-bff9b64cd731: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:21:06 6838 >>>> Start io test
+11:21:06 6838 >>>> Ready and waiting on barrier. Will wait at most 212 seconds
+11:21:11 6839 >>>> Start io test
+11:21:11 6839 >>>> Ready and waiting on barrier. Will wait at most 207 seconds
+11:24:38 6839 >>>> Barrier timeouted
+11:24:38 6838 >>>> Barrier timeouted
+11:25:06 6839 >>>> Test finished
+11:25:06 6838 >>>> Test finished
+2015-02-08 11:25:57.189 6612 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 3a012f5e-eaae-476e-9f19-69f72ce2c077.
+
+--------------------------------------------------------------------------------
+Task b17dad8f-e2a1-4d33-8794-bff9b64cd731: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileSG83G0',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.441     | 1.476     | 1.511     | 1.504         | 1.507         | 66.7%   | 3     |
+| nova.boot_server            | 54.69     | 54.74     | 54.79     | 54.78         | 54.785        | 66.7%   | 3     |
+| nova.delete_server          | 9.971     | 10.021    | 10.071    | 10.061        | 10.066        | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.632     | 7.694     | 7.755     | 7.743         | 7.749         | 66.7%   | 3     |
+| total                       | 335.885   | 335.899   | 335.912   | 335.91        | 335.911       | 66.7%   | 3     |
+| vm.run_command              | 27.473    | 27.59     | 27.708    | 27.684        | 27.696        | 66.7%   | 3     |
+| vm.wait_for_ping            | 6.097     | 6.446     | 6.795     | 6.725         | 6.76          | 66.7%   | 3     |
+| vm.wait_for_ssh             | 7.52      | 9.745     | 11.97     | 11.525        | 11.748        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 335.979773998
+Full duration: 376.205813169
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report b17dad8f-e2a1-4d33-8794-bff9b64cd731 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results b17dad8f-e2a1-4d33-8794-bff9b64cd731
+
+Using task: b17dad8f-e2a1-4d33-8794-bff9b64cd731
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileCGlaC1 -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 96},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 4,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filemuKMb9 -i 2 -s 2000 -r 4 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 2000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 95}]
+================================================================================
+
+====> {"randwrite s 4k": [95, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 4k == \1\k ]]
++ [[ 4k == \4\k ]]
++ continue
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:26:01 7175 >>>> Start rally with opts 'task start /tmp/fileVVAofR --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileIInJb1
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  0a3d23e7-b230-4a8c-8215-a37fe0ca8e29: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:27:59 7380 >>>> Start io test
+11:27:59 7380 >>>> Ready and waiting on barrier. Will wait at most 181 seconds
+11:28:00 7379 >>>> Start io test
+11:28:00 7379 >>>> Ready and waiting on barrier. Will wait at most 180 seconds
+11:28:05 7381 >>>> Start io test
+11:28:05 7381 >>>> Ready and waiting on barrier. Will wait at most 175 seconds
+11:28:39 7381 >>>> Test finished
+11:28:39 7380 >>>> Test finished
+11:28:40 7379 >>>> Test finished
+2015-02-08 11:29:04.653 7175 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: d27e7f89-eb7c-411b-ba6f-91c8fe733fbc.
+
+--------------------------------------------------------------------------------
+Task 0a3d23e7-b230-4a8c-8215-a37fe0ca8e29: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileIInJb1',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.414     | 1.456     | 1.511     | 1.497         | 1.504         | 100.0%  | 3     |
+| nova.boot_server            | 62.01     | 66.041    | 68.569    | 68.364        | 68.466        | 100.0%  | 3     |
+| nova.delete_server          | 5.102     | 6.641     | 9.675     | 8.769         | 9.222         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.479     | 1.557     | 1.609     | 1.604         | 1.606         | 100.0%  | 3     |
+| total                       | 138.961   | 139.071   | 139.226   | 139.186       | 139.206       | 100.0%  | 3     |
+| vm.run_command              | 33.762    | 34.062    | 34.414    | 34.333        | 34.373        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.856     | 5.829     | 6.527     | 6.442         | 6.484         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.701     | 11.931    | 18.558    | 16.753        | 17.655        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 139.335828781
+Full duration: 179.314894915
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 0a3d23e7-b230-4a8c-8215-a37fe0ca8e29 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 0a3d23e7-b230-4a8c-8215-a37fe0ca8e29
+
+Using task: 0a3d23e7-b230-4a8c-8215-a37fe0ca8e29
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filevlmWel -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1235},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileN90iux -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1215},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filewbCPwM -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1193}]
+================================================================================
+
+====> {"write s 64k": [1214, 29]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:29:08 7702 >>>> Start rally with opts 'task start /tmp/fileiCOGNb --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileE1QROL
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fff944c0-cb86-46cc-9e9c-ea15349a8225: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:30:45 7931 >>>> Start io test
+11:30:45 7931 >>>> Ready and waiting on barrier. Will wait at most 202 seconds
+11:30:53 7929 >>>> Start io test
+11:30:53 7929 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+11:30:55 7930 >>>> Start io test
+11:30:55 7930 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+11:31:29 7929 >>>> Test finished
+11:31:29 7930 >>>> Test finished
+11:31:29 7931 >>>> Test finished
+2015-02-08 11:31:59.424 7702 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 2750cf4b-031f-4474-b186-80c265696334.
+
+--------------------------------------------------------------------------------
+Task fff944c0-cb86-46cc-9e9c-ea15349a8225: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileE1QROL',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.371     | 1.59      | 1.955     | 1.852         | 1.904         | 100.0%  | 3     |
+| nova.boot_server            | 59.183    | 60.251    | 61.276    | 61.079        | 61.178        | 100.0%  | 3     |
+| nova.delete_server          | 5.097     | 5.116     | 5.147     | 5.139         | 5.143         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.744     | 1.803     | 1.912     | 1.88          | 1.896         | 100.0%  | 3     |
+| total                       | 127.045   | 128.717   | 132.056   | 131.055       | 131.556       | 100.0%  | 3     |
+| vm.run_command              | 34.068    | 34.162    | 34.235    | 34.224        | 34.229        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.099     | 6.1       | 6.1       | 6.1           | 6.1           | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.22      | 10.311    | 12.415    | 12.391        | 12.403        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 132.110380173
+Full duration: 167.184324026
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fff944c0-cb86-46cc-9e9c-ea15349a8225 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fff944c0-cb86-46cc-9e9c-ea15349a8225
+
+Using task: fff944c0-cb86-46cc-9e9c-ea15349a8225
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileyGEuU4 -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1209},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filemOIIgK -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1204},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filebz3xiu -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1204}]
+================================================================================
+
+====> {"write s 64k": [1205, 4]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:32:03 8235 >>>> Start rally with opts 'task start /tmp/filexTxvMH --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileq7Uko9
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  60c5791e-9d50-4c7f-a598-6a5e11832130: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:33:42 8465 >>>> Start io test
+11:33:42 8465 >>>> Ready and waiting on barrier. Will wait at most 201 seconds
+11:33:43 8466 >>>> Start io test
+11:33:43 8466 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+11:33:46 8467 >>>> Start io test
+11:33:46 8467 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+11:34:20 8466 >>>> Test finished
+11:34:20 8465 >>>> Test finished
+11:34:20 8467 >>>> Test finished
+2015-02-08 11:34:50.918 8235 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 872c8ad1-1131-49b5-b8a4-da52f1856ec8.
+
+--------------------------------------------------------------------------------
+Task 60c5791e-9d50-4c7f-a598-6a5e11832130: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileq7Uko9',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.46      | 1.485     | 1.505     | 1.502         | 1.504         | 100.0%  | 3     |
+| nova.boot_server            | 60.743    | 60.851    | 60.916    | 60.911        | 60.914        | 100.0%  | 3     |
+| nova.delete_server          | 5.099     | 5.147     | 5.218     | 5.199         | 5.208         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.548     | 1.657     | 1.793     | 1.76          | 1.777         | 100.0%  | 3     |
+| total                       | 124.369   | 126.33    | 129.91    | 128.87        | 129.39        | 100.0%  | 3     |
+| vm.run_command              | 33.775    | 33.948    | 34.141    | 34.099        | 34.12         | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.914     | 6.938     | 8.119     | 7.851         | 7.985         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.599     | 9.018     | 12.784    | 11.761        | 12.272        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 129.98637104
+Full duration: 164.914983988
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 60c5791e-9d50-4c7f-a598-6a5e11832130 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 60c5791e-9d50-4c7f-a598-6a5e11832130
+
+Using task: 60c5791e-9d50-4c7f-a598-6a5e11832130
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileEULISq -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1231},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileVezThx -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1224},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileEG0pO9 -i 0 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1215}]
+================================================================================
+
+====> {"write s 64k": [1223, 11]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:34:55 8808 >>>> Start rally with opts 'task start /tmp/filesh4Wuo --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file26VUrO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  07e38409-92da-476f-9cb2-f6d9a648350d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:36:36 9038 >>>> Start io test
+11:36:36 9038 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+11:36:36 9039 >>>> Start io test
+11:36:36 9039 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+11:36:39 9040 >>>> Start io test
+11:36:39 9040 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+11:38:16 9038 >>>> Test finished
+11:38:17 9039 >>>> Test finished
+11:38:18 9040 >>>> Test finished
+2015-02-08 11:39:02.343 8808 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 455518e4-6786-44cd-a12e-dcf726c8eb00.
+
+--------------------------------------------------------------------------------
+Task 07e38409-92da-476f-9cb2-f6d9a648350d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file26VUrO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.312     | 1.391     | 1.468     | 1.453         | 1.46          | 100.0%  | 3     |
+| nova.boot_server            | 61.378    | 62.041    | 63.076    | 62.794        | 62.935        | 100.0%  | 3     |
+| nova.delete_server          | 9.682     | 11.249    | 12.097    | 12.072        | 12.084        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.892     | 3.609     | 6.978     | 5.973         | 6.476         | 100.0%  | 3     |
+| total                       | 195.481   | 198.5     | 203.08    | 201.852       | 202.466       | 100.0%  | 3     |
+| vm.run_command              | 96.978    | 97.45     | 98.308    | 98.059        | 98.184        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.077     | 4.757     | 6.105     | 6.102         | 6.103         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.71      | 9.255     | 11.582    | 10.96         | 11.271        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 203.20609498
+Full duration: 244.972934008
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 07e38409-92da-476f-9cb2-f6d9a648350d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 07e38409-92da-476f-9cb2-f6d9a648350d
+
+Using task: 07e38409-92da-476f-9cb2-f6d9a648350d
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filevF5GLL -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25333},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileXwKDlk -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25108},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileScg8Ql -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23460}]
+================================================================================
+
+====> {"write a 64k": [24633, 1446]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:39:06 9463 >>>> Start rally with opts 'task start /tmp/file0N2rmd --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileP3P5uN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ffa53e35-2c39-4c6c-a4bd-22828da7d000: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:40:46 9659 >>>> Start io test
+11:40:46 9659 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+11:40:48 9658 >>>> Start io test
+11:40:48 9658 >>>> Ready and waiting on barrier. Will wait at most 198 seconds
+11:40:49 9657 >>>> Start io test
+11:40:49 9657 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+11:42:24 9657 >>>> Test finished
+11:42:29 9658 >>>> Test finished
+11:42:30 9659 >>>> Test finished
+2015-02-08 11:43:22.181 9463 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 7de1420c-2ea3-4a47-8342-6eda0736c23c.
+
+--------------------------------------------------------------------------------
+Task ffa53e35-2c39-4c6c-a4bd-22828da7d000: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileP3P5uN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.459     | 1.577     | 1.762     | 1.711         | 1.737         | 100.0%  | 3     |
+| nova.boot_server            | 59.477    | 60.402    | 61.675    | 61.351        | 61.513        | 100.0%  | 3     |
+| nova.delete_server          | 5.316     | 9.786     | 12.111    | 12.075        | 12.093        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.693     | 3.42      | 6.719     | 5.745         | 6.232         | 100.0%  | 3     |
+| total                       | 194.87    | 200.903   | 210.296   | 207.746       | 209.021       | 100.0%  | 3     |
+| vm.run_command              | 95.307    | 98.8      | 101.104   | 100.881       | 100.992       | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.668     | 6.151     | 6.687     | 6.569         | 6.628         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.539     | 11.406    | 13.981    | 13.925        | 13.953        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 210.367856026
+Full duration: 252.263090849
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ffa53e35-2c39-4c6c-a4bd-22828da7d000 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ffa53e35-2c39-4c6c-a4bd-22828da7d000
+
+Using task: ffa53e35-2c39-4c6c-a4bd-22828da7d000
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file99KPUD -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26812},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file3A3tFL -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24059},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filevFXszd -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24193}]
+================================================================================
+
+====> {"write a 64k": [25021, 2195]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:43:26 10009 >>>> Start rally with opts 'task start /tmp/fileexR5Lo --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileRLrXaR
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  49677130-db04-4be2-bd3b-dfeb27149aa6: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:45:15 10214 >>>> Start io test
+11:45:15 10214 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+11:45:16 10213 >>>> Start io test
+11:45:16 10213 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+11:45:19 10212 >>>> Start io test
+11:45:19 10212 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+11:46:54 10214 >>>> Test finished
+11:46:54 10213 >>>> Test finished
+11:46:55 10212 >>>> Test finished
+2015-02-08 11:47:47.530 10009 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a005c7c4-0a06-4cc9-ab3f-c1e2abe1e99f.
+
+--------------------------------------------------------------------------------
+Task 49677130-db04-4be2-bd3b-dfeb27149aa6: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileRLrXaR',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.516     | 1.615     | 1.71      | 1.692         | 1.701         | 100.0%  | 3     |
+| nova.boot_server            | 65.094    | 66.43     | 68.3      | 67.819        | 68.06         | 100.0%  | 3     |
+| nova.delete_server          | 5.38      | 6.939     | 10.023    | 9.101         | 9.562         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.658     | 6.818     | 6.962     | 6.936         | 6.949         | 100.0%  | 3     |
+| total                       | 204.496   | 204.666   | 204.863   | 204.818       | 204.841       | 100.0%  | 3     |
+| vm.run_command              | 95.317    | 95.635    | 96.027    | 95.934        | 95.98         | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.722     | 5.651     | 6.127     | 6.122         | 6.125         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.612     | 8.348     | 10.905    | 10.23         | 10.568        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 204.949121952
+Full duration: 258.685722113
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 49677130-db04-4be2-bd3b-dfeb27149aa6 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 49677130-db04-4be2-bd3b-dfeb27149aa6
+
+Using task: 49677130-db04-4be2-bd3b-dfeb27149aa6
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filevcbwee -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25431},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileGzVhDK -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25765},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file1WmBAr -i 0 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25647}]
+================================================================================
+
+====> {"write a 64k": [25614, 239]}
+
+================================================================================
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:47:51 10762 >>>> Start rally with opts 'task start /tmp/fileDTPzKg --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filehLxxSo
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ece49923-7e36-4cc8-80c0-8b2a4cd9a133: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:49:46 10958 >>>> Start io test
+11:49:46 10958 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+11:49:46 10960 >>>> Start io test
+11:49:46 10960 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+11:49:47 10959 >>>> Start io test
+11:49:47 10959 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+11:50:22 10959 >>>> Test finished
+11:50:23 10960 >>>> Test finished
+11:50:23 10958 >>>> Test finished
+2015-02-08 11:50:53.729 10762 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: b29917e7-4dc2-4f70-94c9-13a5d667943c.
+
+--------------------------------------------------------------------------------
+Task ece49923-7e36-4cc8-80c0-8b2a4cd9a133: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filehLxxSo',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.448     | 1.545     | 1.613     | 1.605         | 1.609         | 100.0%  | 3     |
+| nova.boot_server            | 60.82     | 62.981    | 65.307    | 64.808        | 65.058        | 100.0%  | 3     |
+| nova.delete_server          | 5.215     | 6.118     | 7.823     | 7.321         | 7.572         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.753     | 1.97      | 2.136     | 2.113         | 2.125         | 100.0%  | 3     |
+| total                       | 133.093   | 133.673   | 134.752   | 134.436       | 134.594       | 100.0%  | 3     |
+| vm.run_command              | 35.254    | 36.037    | 36.485    | 36.463        | 36.474        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.11      | 6.116     | 6.121     | 6.12          | 6.12          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.73      | 10.244    | 12.897    | 12.539        | 12.718        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 134.882910013
+Full duration: 176.795939207
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ece49923-7e36-4cc8-80c0-8b2a4cd9a133 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ece49923-7e36-4cc8-80c0-8b2a4cd9a133
+
+Using task: ece49923-7e36-4cc8-80c0-8b2a4cd9a133
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileXtALpE -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1162},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileTqDe6E -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1113},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file4MuFqb -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1112}]
+================================================================================
+
+====> {"randwrite s 64k": [1129, 40]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:50:58 11283 >>>> Start rally with opts 'task start /tmp/fileA6tRN5 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filerMxopF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  236db880-4c9f-49ec-9f20-2e8c40a6500d: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:52:37 11479 >>>> Start io test
+11:52:37 11479 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+11:52:44 11480 >>>> Start io test
+11:52:44 11480 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+11:52:48 11478 >>>> Start io test
+11:52:48 11478 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+11:53:23 11480 >>>> Test finished
+11:53:23 11478 >>>> Test finished
+11:53:23 11479 >>>> Test finished
+2015-02-08 11:53:50.216 11283 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: f325bc36-7469-40df-b722-aebc110e6f2a.
+
+--------------------------------------------------------------------------------
+Task 236db880-4c9f-49ec-9f20-2e8c40a6500d: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filerMxopF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.65      | 2.03      | 2.781     | 2.557         | 2.669         | 100.0%  | 3     |
+| nova.boot_server            | 61.365    | 61.541    | 61.703    | 61.674        | 61.689        | 100.0%  | 3     |
+| nova.delete_server          | 5.221     | 5.294     | 5.382     | 5.361         | 5.372         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.748     | 1.906     | 2.108     | 2.059         | 2.084         | 100.0%  | 3     |
+| total                       | 133.055   | 133.444   | 133.741   | 133.7         | 133.72        | 100.0%  | 3     |
+| vm.run_command              | 35.204    | 35.436    | 35.606    | 35.584        | 35.595        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.098     | 6.651     | 7.694     | 7.388         | 7.541         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.136     | 10.459    | 12.211    | 12.175        | 12.193        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 133.863234997
+Full duration: 168.019260168
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 236db880-4c9f-49ec-9f20-2e8c40a6500d --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 236db880-4c9f-49ec-9f20-2e8c40a6500d
+
+Using task: 236db880-4c9f-49ec-9f20-2e8c40a6500d
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileBp3ew2 -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1166},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file4EQFLL -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1146},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileJkjfYh -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1145}]
+================================================================================
+
+====> {"randwrite s 64k": [1152, 16]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:53:54 11820 >>>> Start rally with opts 'task start /tmp/fileA3tMY4 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileorA1Os
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  263f9a65-80a7-4c3f-a400-0e70f4a8c2f8: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:55:43 12014 >>>> Start io test
+11:55:43 12014 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+11:55:49 12015 >>>> Start io test
+11:55:49 12015 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+11:55:52 12016 >>>> Start io test
+11:55:52 12016 >>>> Ready and waiting on barrier. Will wait at most 181 seconds
+11:56:33 12016 >>>> Test finished
+11:56:33 12015 >>>> Test finished
+11:56:33 12014 >>>> Test finished
+2015-02-08 11:57:00.712 11820 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c3a1dcb5-2002-420b-aad9-78722e0737c7.
+
+--------------------------------------------------------------------------------
+Task 263f9a65-80a7-4c3f-a400-0e70f4a8c2f8: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileorA1Os',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.585     | 1.932     | 2.3       | 2.222         | 2.261         | 100.0%  | 3     |
+| nova.boot_server            | 58.531    | 60.086    | 62.72     | 61.977        | 62.348        | 100.0%  | 3     |
+| nova.delete_server          | 5.359     | 5.378     | 5.401     | 5.396         | 5.399         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.712     | 1.828     | 1.922     | 1.907         | 1.915         | 100.0%  | 3     |
+| total                       | 142.517   | 145.907   | 147.636   | 147.623       | 147.629       | 100.0%  | 3     |
+| vm.run_command              | 40.29     | 40.291    | 40.291    | 40.291        | 40.291        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.098     | 7.447     | 8.136     | 8.13          | 8.133         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.008     | 10.577    | 16.928    | 15.502        | 16.215        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 147.694798946
+Full duration: 184.524184942
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 263f9a65-80a7-4c3f-a400-0e70f4a8c2f8 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 263f9a65-80a7-4c3f-a400-0e70f4a8c2f8
+
+Using task: 263f9a65-80a7-4c3f-a400-0e70f4a8c2f8
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filelQyfUV -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1077},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileTmrFFS -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1012},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileu9Kzv5 -i 2 -s 32000 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 32000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 1019}]
+================================================================================
+
+====> {"randwrite s 64k": [1036, 50]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+11:57:07 12325 >>>> Start rally with opts 'task start /tmp/file91v9Ph --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file6lET9S
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  fbb41b5b-567d-40b2-ad7d-d945ecaa3e83: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+11:58:52 12569 >>>> Start io test
+11:58:52 12569 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+11:59:00 12570 >>>> Start io test
+11:59:00 12570 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+11:59:00 12568 >>>> Start io test
+11:59:00 12568 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+12:01:38 12570 >>>> Test finished
+12:01:52 12569 >>>> Test finished
+12:02:51 12568 >>>> Test finished
+2015-02-08 12:03:33.293 12325 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ae708818-0f23-40d5-83d2-6c933b03701a.
+
+--------------------------------------------------------------------------------
+Task fbb41b5b-567d-40b2-ad7d-d945ecaa3e83: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file6lET9S',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.355     | 1.612     | 2.002     | 1.898         | 1.95          | 100.0%  | 3     |
+| nova.boot_server            | 58.812    | 61.422    | 64.239    | 63.634        | 63.936        | 100.0%  | 3     |
+| nova.delete_server          | 5.133     | 43.192    | 63.376    | 62.914        | 63.145        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.602     | 3.559     | 6.975     | 6.0           | 6.488         | 100.0%  | 3     |
+| total                       | 322.051   | 327.66    | 332.464   | 331.664       | 332.064       | 100.0%  | 3     |
+| vm.run_command              | 157.858   | 187.065   | 231.399   | 219.507       | 225.453       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.378     | 5.559     | 6.202     | 6.181         | 6.191         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.732     | 9.928     | 12.272    | 11.974        | 12.123        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 332.556061983
+Full duration: 380.546205997
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report fbb41b5b-567d-40b2-ad7d-d945ecaa3e83 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results fbb41b5b-567d-40b2-ad7d-d945ecaa3e83
+
+Using task: fbb41b5b-567d-40b2-ad7d-d945ecaa3e83
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileePCFhD -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13224},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileb8ZDqU -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 11773},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileqfjpMI -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 18800}]
+================================================================================
+
+====> {"randwrite a 64k": [14599, 5246]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:03:37 12983 >>>> Start rally with opts 'task start /tmp/fileRmR1YS --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file85sjhN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  094b161f-311a-4f5c-bf29-7cd8c686c58a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:05:29 13179 >>>> Start io test
+12:05:29 13179 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+12:05:34 13178 >>>> Start io test
+12:05:34 13178 >>>> Ready and waiting on barrier. Will wait at most 182 seconds
+12:05:44 13180 >>>> Start io test
+12:05:44 13180 >>>> Ready and waiting on barrier. Will wait at most 172 seconds
+12:08:18 13179 >>>> Test finished
+12:09:26 13178 >>>> Test finished
+12:09:38 13180 >>>> Test finished
+2015-02-08 12:10:23.360 12983 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: dcaf86aa-fcf2-4dd1-ab61-d8b2cc7cab51.
+
+--------------------------------------------------------------------------------
+Task 094b161f-311a-4f5c-bf29-7cd8c686c58a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file85sjhN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.502     | 1.86      | 2.57      | 2.358         | 2.464         | 100.0%  | 3     |
+| nova.boot_server            | 59.898    | 61.881    | 65.275    | 64.314        | 64.795        | 100.0%  | 3     |
+| nova.delete_server          | 9.746     | 32.269    | 76.961    | 63.589        | 70.275        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.58      | 6.986     | 7.203     | 7.198         | 7.201         | 100.0%  | 3     |
+| total                       | 334.124   | 339.37    | 347.883   | 345.527       | 346.705       | 100.0%  | 3     |
+| vm.run_command              | 153.519   | 202.954   | 233.69    | 231.283       | 232.486       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.097     | 5.517     | 6.24      | 6.235         | 6.238         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.553     | 9.27      | 11.41     | 11.298        | 11.354        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 348.012090921
+Full duration: 402.908918142
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 094b161f-311a-4f5c-bf29-7cd8c686c58a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 094b161f-311a-4f5c-bf29-7cd8c686c58a
+
+Using task: 094b161f-311a-4f5c-bf29-7cd8c686c58a
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filek66lAo -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15991},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileEbWJcN -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 9408},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileGdb2qY -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 10453}]
+================================================================================
+
+====> {"randwrite a 64k": [11950, 5003]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 64k == \1\k ]]
++ [[ 64k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 64k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:10:27 13558 >>>> Start rally with opts 'task start /tmp/filexba06j --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filetI28HP
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8bbdffbe-78eb-4ba4-a1f3-82f0bfb762d2: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:12:08 13755 >>>> Start io test
+12:12:08 13755 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+12:12:15 13753 >>>> Start io test
+12:12:15 13753 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+12:12:15 13754 >>>> Start io test
+12:12:15 13754 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+12:14:39 13755 >>>> Test finished
+12:15:08 13754 >>>> Test finished
+12:15:59 13753 >>>> Test finished
+2015-02-08 12:16:50.500 13558 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: df281340-5d44-4b1e-a8b9-e03bdd27981b.
+
+--------------------------------------------------------------------------------
+Task 8bbdffbe-78eb-4ba4-a1f3-82f0bfb762d2: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filetI28HP',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.362     | 1.503     | 1.724     | 1.664         | 1.694         | 100.0%  | 3     |
+| nova.boot_server            | 57.915    | 61.24     | 64.393    | 63.797        | 64.095        | 100.0%  | 3     |
+| nova.delete_server          | 9.8       | 42.885    | 76.874    | 69.895        | 73.385        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.574     | 6.826     | 7.236     | 7.123         | 7.179         | 100.0%  | 3     |
+| total                       | 310.583   | 318.791   | 329.807   | 327.042       | 328.424       | 100.0%  | 3     |
+| vm.run_command              | 144.166   | 180.749   | 224.418   | 214.267       | 219.342       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.979     | 5.725     | 6.099     | 6.099         | 6.099         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.353     | 8.586     | 11.56     | 10.817        | 11.189        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 329.886922121
+Full duration: 380.69844389
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8bbdffbe-78eb-4ba4-a1f3-82f0bfb762d2 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8bbdffbe-78eb-4ba4-a1f3-82f0bfb762d2
+
+Using task: 8bbdffbe-78eb-4ba4-a1f3-82f0bfb762d2
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filetnWQ6Y -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16904},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileVotm6a -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13514},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 64,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileSVMA6p -i 2 -s 1003592 -r 64 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21294}]
+================================================================================
+
+====> {"randwrite a 64k": [17237, 5516]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:16:54 14107 >>>> Start rally with opts 'task start /tmp/fileUxvme5 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileHchieZ
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  706f6a78-1c41-4141-b46b-faeb4bb155f1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:18:37 14343 >>>> Start io test
+12:18:37 14343 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+12:18:38 14342 >>>> Start io test
+12:18:38 14342 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+12:18:43 14341 >>>> Start io test
+12:18:43 14341 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+12:19:26 14343 >>>> Test finished
+12:19:26 14342 >>>> Test finished
+12:19:27 14341 >>>> Test finished
+2015-02-08 12:19:52.346 14107 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c93ed9ae-2a80-4a40-ae5c-5b7bc9693da1.
+
+--------------------------------------------------------------------------------
+Task 706f6a78-1c41-4141-b46b-faeb4bb155f1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileHchieZ',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.419     | 1.442     | 1.474     | 1.465         | 1.47          | 100.0%  | 3     |
+| nova.boot_server            | 60.406    | 61.157    | 61.962    | 61.79         | 61.876        | 100.0%  | 3     |
+| nova.delete_server          | 5.125     | 5.963     | 7.55      | 7.083         | 7.317         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.671     | 1.771     | 1.95      | 1.898         | 1.924         | 100.0%  | 3     |
+| total                       | 145.268   | 147.071   | 149.299   | 148.769       | 149.034       | 100.0%  | 3     |
+| vm.run_command              | 43.516    | 43.997    | 44.754    | 44.548        | 44.651        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.957     | 6.132     | 8.104     | 7.551         | 7.827         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 13.035    | 17.377    | 19.987    | 19.812        | 19.9          | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 149.429497004
+Full duration: 174.730675936
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 706f6a78-1c41-4141-b46b-faeb4bb155f1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 706f6a78-1c41-4141-b46b-faeb4bb155f1
+
+Using task: 706f6a78-1c41-4141-b46b-faeb4bb155f1
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filekFWSTD -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3918},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileftVXi4 -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3909},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileHStrhS -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3817}]
+================================================================================
+
+====> {"write s 256k": [3881, 79]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:19:56 14642 >>>> Start rally with opts 'task start /tmp/fileyxovMg --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filew7d10M
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  270f59e0-f62f-43d5-815b-ea65acbc668c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:21:43 14838 >>>> Start io test
+12:21:43 14838 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+12:21:49 14839 >>>> Start io test
+12:21:49 14839 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+12:21:49 14837 >>>> Start io test
+12:21:49 14837 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+12:22:32 14838 >>>> Test finished
+12:22:32 14839 >>>> Test finished
+12:22:32 14837 >>>> Test finished
+2015-02-08 12:23:02.204 14642 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: c8e3601b-c66d-45b3-85bf-85110fe26da5.
+
+--------------------------------------------------------------------------------
+Task 270f59e0-f62f-43d5-815b-ea65acbc668c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filew7d10M',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.407     | 1.53      | 1.686     | 1.648         | 1.667         | 100.0%  | 3     |
+| nova.boot_server            | 60.896    | 61.346    | 62.222    | 61.962        | 62.092        | 100.0%  | 3     |
+| nova.delete_server          | 5.143     | 5.891     | 7.383     | 6.935         | 7.159         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.659     | 3.358     | 6.575     | 5.628         | 6.101         | 100.0%  | 3     |
+| total                       | 134.446   | 136.709   | 138.994   | 138.533       | 138.764       | 100.0%  | 3     |
+| vm.run_command              | 42.264    | 42.489    | 42.634    | 42.621        | 42.627        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.324     | 4.846     | 8.115     | 7.712         | 7.913         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.306     | 10.18     | 12.916    | 12.396        | 12.656        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 139.105728149
+Full duration: 183.268572807
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 270f59e0-f62f-43d5-815b-ea65acbc668c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 270f59e0-f62f-43d5-815b-ea65acbc668c
+
+Using task: 270f59e0-f62f-43d5-815b-ea65acbc668c
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileCkKATB -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4388},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filemUjYlW -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4306},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file1xuWy3 -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4286}]
+================================================================================
+
+====> {"write s 256k": [4326, 76]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:23:06 15160 >>>> Start rally with opts 'task start /tmp/filekONTRW --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file6WqEnN
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f1171918-e8dd-416b-9c06-6f71e9212cf4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:24:55 15357 >>>> Start io test
+12:24:55 15357 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+12:24:57 15355 >>>> Start io test
+12:24:57 15355 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+12:24:59 15356 >>>> Start io test
+12:24:59 15356 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+12:25:42 15356 >>>> Test finished
+12:25:42 15357 >>>> Test finished
+12:25:42 15355 >>>> Test finished
+2015-02-08 12:26:12.964 15160 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: fb73ed6a-1c9a-42d5-a0d6-719c94324008.
+
+--------------------------------------------------------------------------------
+Task f1171918-e8dd-416b-9c06-6f71e9212cf4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file6WqEnN',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.41      | 1.463     | 1.543     | 1.522         | 1.532         | 100.0%  | 3     |
+| nova.boot_server            | 63.241    | 63.577    | 64.236    | 64.04         | 64.138        | 100.0%  | 3     |
+| nova.delete_server          | 5.117     | 5.201     | 5.301     | 5.278         | 5.29          | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.641     | 5.079     | 6.801     | 6.8           | 6.8           | 100.0%  | 3     |
+| total                       | 141.191   | 144.198   | 145.884   | 145.811       | 145.848       | 100.0%  | 3     |
+| vm.run_command              | 43.006    | 43.245    | 43.536    | 43.467        | 43.501        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.091     | 5.44      | 8.112     | 7.713         | 7.913         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 11.639    | 13.279    | 15.23     | 14.777        | 15.004        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 145.933766127
+Full duration: 184.22948122
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f1171918-e8dd-416b-9c06-6f71e9212cf4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f1171918-e8dd-416b-9c06-6f71e9212cf4
+
+Using task: f1171918-e8dd-416b-9c06-6f71e9212cf4
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filetbgRHW -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4263},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file2zZfJI -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4144},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file1c2j1G -i 0 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4223}]
+================================================================================
+
+====> {"write s 256k": [4210, 85]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:26:17 15658 >>>> Start rally with opts 'task start /tmp/fileuwVmcF --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file6jUTaO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e2fedc07-7bfa-4dca-81f1-a58a7e4d3eeb: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:27:43 15852 >>>> Start io test
+12:27:43 15852 >>>> Ready and waiting on barrier. Will wait at most 213 seconds
+12:31:17 15852 >>>> Barrier timeouted
+12:31:59 15852 >>>> Test finished
+2015-02-08 12:33:10.567 15658 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 8a841930-c49c-4eaa-8b61-cb9d70e7ea7a.
+
+--------------------------------------------------------------------------------
+Task e2fedc07-7bfa-4dca-81f1-a58a7e4d3eeb: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file6jUTaO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.34      | 1.34      | 1.34      | 1.34          | 1.34          | 33.3%   | 3     |
+| nova.boot_server            | 41.314    | 41.314    | 41.314    | 41.314        | 41.314        | 33.3%   | 3     |
+| nova.delete_server          | 9.857     | 9.857     | 9.857     | 9.857         | 9.857         | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 7.372     | 7.372     | 7.372     | 7.372         | 7.372         | 33.3%   | 3     |
+| total                       | 344.113   | 344.113   | 344.113   | 344.113       | 344.113       | 33.3%   | 3     |
+| vm.run_command              | 41.904    | 41.904    | 41.904    | 41.904        | 41.904        | 33.3%   | 3     |
+| vm.wait_for_ping            | 6.11      | 6.11      | 6.11      | 6.11          | 6.11          | 33.3%   | 3     |
+| vm.wait_for_ssh             | 18.716    | 18.716    | 18.716    | 18.716        | 18.716        | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 344.222681046
+Full duration: 412.737450838
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e2fedc07-7bfa-4dca-81f1-a58a7e4d3eeb --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e2fedc07-7bfa-4dca-81f1-a58a7e4d3eeb
+
+Using task: e2fedc07-7bfa-4dca-81f1-a58a7e4d3eeb
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileBEdJb8 -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 64624}]
+================================================================================
+
+====> {"write a 256k": [64624, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:33:16 16214 >>>> Start rally with opts 'task start /tmp/fileUCMzFI --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileO67Kn8
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  8c0098db-05ed-4cb9-ab56-4a0c162d4c09: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:35:03 16438 >>>> Start io test
+12:35:03 16438 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+12:35:09 16436 >>>> Start io test
+12:35:09 16436 >>>> Ready and waiting on barrier. Will wait at most 186 seconds
+12:35:10 16437 >>>> Start io test
+12:35:10 16437 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+12:36:44 16436 >>>> Test finished
+12:36:46 16438 >>>> Test finished
+12:36:47 16437 >>>> Test finished
+2015-02-08 12:37:20.648 16214 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 353e1896-dc09-4f71-b4ea-3fa6aef2b752.
+
+--------------------------------------------------------------------------------
+Task 8c0098db-05ed-4cb9-ab56-4a0c162d4c09: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileO67Kn8',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.609     | 1.888     | 2.398     | 2.25          | 2.324         | 100.0%  | 3     |
+| nova.boot_server            | 58.398    | 58.995    | 59.629    | 59.495        | 59.562        | 100.0%  | 3     |
+| nova.delete_server          | 5.188     | 6.946     | 9.889     | 9.064         | 9.476         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.723     | 3.457     | 6.747     | 5.777         | 6.262         | 100.0%  | 3     |
+| total                       | 191.801   | 193.272   | 194.732   | 194.442       | 194.587       | 100.0%  | 3     |
+| vm.run_command              | 94.119    | 95.412    | 96.358    | 96.238        | 96.298        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.076     | 4.564     | 8.117     | 7.594         | 7.855         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 5.748     | 8.068     | 11.734    | 10.731        | 11.233        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 194.805016041
+Full duration: 238.737823009
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 8c0098db-05ed-4cb9-ab56-4a0c162d4c09 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 8c0098db-05ed-4cb9-ab56-4a0c162d4c09
+
+Using task: 8c0098db-05ed-4cb9-ab56-4a0c162d4c09
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileb4kv7m -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26169},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filesaWYSE -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25860},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileB1Po0e -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24369}]
+================================================================================
+
+====> {"write a 256k": [25466, 1361]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:37:25 16796 >>>> Start rally with opts 'task start /tmp/file4flKkC --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileYXNDei
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  40b51d80-ed84-40f6-af85-8c16c4b029d8: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:39:22 17000 >>>> Start io test
+12:39:22 17000 >>>> Ready and waiting on barrier. Will wait at most 182 seconds
+12:39:24 16999 >>>> Start io test
+12:39:24 16999 >>>> Ready and waiting on barrier. Will wait at most 181 seconds
+12:39:30 16998 >>>> Start io test
+12:39:30 16998 >>>> Ready and waiting on barrier. Will wait at most 174 seconds
+12:41:05 17000 >>>> Test finished
+12:41:06 16998 >>>> Test finished
+12:41:06 16999 >>>> Test finished
+2015-02-08 12:41:51.857 16796 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a60e361b-7181-4299-aac3-97eeee6401d9.
+
+--------------------------------------------------------------------------------
+Task 40b51d80-ed84-40f6-af85-8c16c4b029d8: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileYXNDei',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.617     | 1.695     | 1.764     | 1.752         | 1.758         | 100.0%  | 3     |
+| nova.boot_server            | 58.992    | 60.217    | 61.048    | 60.961        | 61.004        | 100.0%  | 3     |
+| nova.delete_server          | 5.188     | 8.109     | 12.52     | 11.34         | 11.93         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.767     | 5.225     | 6.967     | 6.962         | 6.965         | 100.0%  | 3     |
+| total                       | 205.563   | 209.291   | 212.276   | 211.828       | 212.052       | 100.0%  | 3     |
+| vm.run_command              | 95.356    | 95.828    | 96.112    | 96.093        | 96.102        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.079     | 3.428     | 6.112     | 5.708         | 5.91          | 100.0%  | 3     |
+| vm.wait_for_ssh             | 15.296    | 17.775    | 20.074    | 19.65         | 19.862        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 212.371304989
+Full duration: 261.27235508
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 40b51d80-ed84-40f6-af85-8c16c4b029d8 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 40b51d80-ed84-40f6-af85-8c16c4b029d8
+
+Using task: 40b51d80-ed84-40f6-af85-8c16c4b029d8
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileJuR5S4 -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25335},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file9I2MkK -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22708},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileUZbVoE -i 0 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23225}]
+================================================================================
+
+====> {"write a 256k": [23756, 1968]}
+
+================================================================================
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:41:56 17326 >>>> Start rally with opts 'task start /tmp/file8KWPdy --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileQ6U6PH
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a98094fa-f315-45ab-a94f-68be82dced3c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:43:45 17565 >>>> Start io test
+12:43:45 17565 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+12:43:46 17566 >>>> Start io test
+12:43:46 17566 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+12:43:51 17564 >>>> Start io test
+12:43:51 17564 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+12:44:40 17565 >>>> Test finished
+12:44:41 17566 >>>> Test finished
+12:44:42 17564 >>>> Test finished
+2015-02-08 12:45:17.360 17326 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 6d358791-0ab4-4153-9c0d-564046c4a66f.
+
+--------------------------------------------------------------------------------
+Task a98094fa-f315-45ab-a94f-68be82dced3c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileQ6U6PH',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.348     | 4.837     | 6.642     | 6.618         | 6.63          | 100.0%  | 3     |
+| nova.boot_server            | 64.126    | 65.663    | 67.496    | 67.071        | 67.284        | 100.0%  | 3     |
+| nova.delete_server          | 5.112     | 5.166     | 5.242     | 5.222         | 5.232         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.659     | 3.377     | 6.674     | 5.699         | 6.187         | 100.0%  | 3     |
+| total                       | 155.364   | 156.664   | 157.337   | 157.328       | 157.332       | 100.0%  | 3     |
+| vm.run_command              | 48.727    | 49.962    | 50.735    | 50.673        | 50.704        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.201     | 2.952     | 6.53      | 5.649         | 6.089         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.168    | 12.282    | 12.463    | 12.413        | 12.438        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 157.431988955
+Full duration: 198.366993904
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a98094fa-f315-45ab-a94f-68be82dced3c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a98094fa-f315-45ab-a94f-68be82dced3c
+
+Using task: a98094fa-f315-45ab-a94f-68be82dced3c
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileQMzXu9 -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3499},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileL7vepn -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3310},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filemV4ThD -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3277}]
+================================================================================
+
+====> {"randwrite s 256k": [3362, 169]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:45:21 17868 >>>> Start rally with opts 'task start /tmp/file5j1P9J --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filevDbECG
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  e980be95-6fe0-49ab-85c6-37b27aba036f: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:46:47 18072 >>>> Start io test
+12:46:47 18072 >>>> Ready and waiting on barrier. Will wait at most 214 seconds
+12:46:50 18073 >>>> Start io test
+12:46:50 18073 >>>> Ready and waiting on barrier. Will wait at most 211 seconds
+12:50:21 18073 >>>> Barrier timeouted
+12:50:21 18072 >>>> Barrier timeouted
+12:51:00 18072 >>>> Test finished
+12:51:00 18073 >>>> Test finished
+2015-02-08 12:52:00.372 17868 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 11ba14d6-2318-4da9-a735-eea3a52ecc1b.
+
+--------------------------------------------------------------------------------
+Task e980be95-6fe0-49ab-85c6-37b27aba036f: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filevDbECG',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.36      | 2.136     | 2.912     | 2.756         | 2.834         | 66.7%   | 3     |
+| nova.boot_server            | 50.686    | 50.987    | 51.287    | 51.227        | 51.257        | 66.7%   | 3     |
+| nova.delete_server          | 5.723     | 8.021     | 10.32     | 9.86          | 10.09         | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 7.721     | 7.738     | 7.754     | 7.751         | 7.753         | 66.7%   | 3     |
+| total                       | 342.089   | 344.387   | 346.685   | 346.225       | 346.455       | 66.7%   | 3     |
+| vm.run_command              | 38.54     | 38.544    | 38.548    | 38.548        | 38.548        | 66.7%   | 3     |
+| vm.wait_for_ping            | 4.701     | 4.821     | 4.941     | 4.917         | 4.929         | 66.7%   | 3     |
+| vm.wait_for_ssh             | 7.623     | 9.284     | 10.946    | 10.613        | 10.78         | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 346.821579933
+Full duration: 396.39201808
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report e980be95-6fe0-49ab-85c6-37b27aba036f --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results e980be95-6fe0-49ab-85c6-37b27aba036f
+
+Using task: e980be95-6fe0-49ab-85c6-37b27aba036f
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filezlepII -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4465},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filek6Jr6f -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 4524}]
+================================================================================
+
+====> {"randwrite s 256k": [4494, 41]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:52:04 18405 >>>> Start rally with opts 'task start /tmp/fileOVKvAh --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filehRnGo4
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  49a1fd70-546f-4465-9422-4ec97b8e253c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:53:50 18639 >>>> Start io test
+12:53:50 18639 >>>> Ready and waiting on barrier. Will wait at most 194 seconds
+12:53:53 18637 >>>> Start io test
+12:53:53 18637 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+12:53:59 18640 >>>> Start io test
+12:53:59 18640 >>>> Ready and waiting on barrier. Will wait at most 184 seconds
+12:54:49 18640 >>>> Test finished
+12:54:49 18639 >>>> Test finished
+12:54:49 18637 >>>> Test finished
+2015-02-08 12:55:19.211 18405 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: eccba0ec-bb95-483c-8858-31e0532ef903.
+
+--------------------------------------------------------------------------------
+Task 49a1fd70-546f-4465-9422-4ec97b8e253c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filehRnGo4',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.384     | 1.517     | 1.618     | 1.604         | 1.611         | 100.0%  | 3     |
+| nova.boot_server            | 61.619    | 63.693    | 67.494    | 66.389        | 66.942        | 100.0%  | 3     |
+| nova.delete_server          | 5.137     | 6.722     | 9.854     | 8.918         | 9.386         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.521     | 3.271     | 6.495     | 5.555         | 6.025         | 100.0%  | 3     |
+| total                       | 151.301   | 151.444   | 151.525   | 151.521       | 151.523       | 100.0%  | 3     |
+| vm.run_command              | 49.217    | 49.482    | 49.632    | 49.626        | 49.629        | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.08      | 3.562     | 6.526     | 5.637         | 6.082         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.606     | 9.782     | 11.555    | 11.48         | 11.518        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 151.625242949
+Full duration: 191.843375921
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 49a1fd70-546f-4465-9422-4ec97b8e253c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 49a1fd70-546f-4465-9422-4ec97b8e253c
+
+Using task: 49a1fd70-546f-4465-9422-4ec97b8e253c
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file2GjAAY -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3329},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filetIzxZh -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3287},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileoxsb7n -i 2 -s 128000 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 128000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 3337}]
+================================================================================
+
+====> {"randwrite s 256k": [3317, 37]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+12:55:23 18946 >>>> Start rally with opts 'task start /tmp/fileEcr464 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileckef5S
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  47f9b6e3-2d19-49cd-8e98-aac1a4c43c85: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+12:56:49 19141 >>>> Start io test
+12:56:49 19141 >>>> Ready and waiting on barrier. Will wait at most 213 seconds
+13:00:23 19141 >>>> Barrier timeouted
+13:01:25 19141 >>>> Test finished
+2015-02-08 13:02:29.344 18946 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 2c4de3bc-92bf-4c76-9c0c-565985c34e3e.
+
+--------------------------------------------------------------------------------
+Task 47f9b6e3-2d19-49cd-8e98-aac1a4c43c85: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileckef5S',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.54      | 1.54      | 1.54      | 1.54          | 1.54          | 33.3%   | 3     |
+| nova.boot_server            | 39.222    | 39.222    | 39.222    | 39.222        | 39.222        | 33.3%   | 3     |
+| nova.delete_server          | 9.854     | 9.854     | 9.854     | 9.854         | 9.854         | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 7.401     | 7.401     | 7.401     | 7.401         | 7.401         | 33.3%   | 3     |
+| total                       | 354.537   | 354.537   | 354.537   | 354.537       | 354.537       | 33.3%   | 3     |
+| vm.run_command              | 62.286    | 62.286    | 62.286    | 62.286        | 62.286        | 33.3%   | 3     |
+| vm.wait_for_ping            | 6.103     | 6.103     | 6.103     | 6.103         | 6.103         | 33.3%   | 3     |
+| vm.wait_for_ssh             | 11.892    | 11.892    | 11.892    | 11.892        | 11.892        | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 354.647315025
+Full duration: 423.483731031
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 47f9b6e3-2d19-49cd-8e98-aac1a4c43c85 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 47f9b6e3-2d19-49cd-8e98-aac1a4c43c85
+
+Using task: 47f9b6e3-2d19-49cd-8e98-aac1a4c43c85
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filevEQZLZ -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 40128}]
+================================================================================
+
+====> {"randwrite a 256k": [40128, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:02:33 19494 >>>> Start rally with opts 'task start /tmp/filexJ0YJx --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filep7jkPe
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  64ff171c-eacd-4b51-9eb5-7ee555382bbb: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:04:20 19690 >>>> Start io test
+13:04:20 19690 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+13:04:26 19688 >>>> Start io test
+13:04:26 19688 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+13:04:27 19689 >>>> Start io test
+13:04:27 19689 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+13:06:30 19688 >>>> Test finished
+13:06:39 19689 >>>> Test finished
+13:06:40 19690 >>>> Test finished
+2015-02-08 13:07:26.108 19494 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a4a7e524-40cd-4adb-a2d5-461e79c9804c.
+
+--------------------------------------------------------------------------------
+Task 64ff171c-eacd-4b51-9eb5-7ee555382bbb: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filep7jkPe',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.465     | 1.536     | 1.652     | 1.62          | 1.636         | 100.0%  | 3     |
+| nova.boot_server            | 64.811    | 64.832    | 64.861    | 64.853        | 64.857        | 100.0%  | 3     |
+| nova.delete_server          | 5.287     | 10.503    | 16.201    | 14.965        | 15.583        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.713     | 6.725     | 6.732     | 6.732         | 6.732         | 100.0%  | 3     |
+| total                       | 233.231   | 239.227   | 244.408   | 243.535       | 243.972       | 100.0%  | 3     |
+| vm.run_command              | 122.42    | 129.051   | 133.081   | 132.796       | 132.939       | 100.0%  | 3     |
+| vm.wait_for_ping            | 5.958     | 6.051     | 6.105     | 6.102         | 6.103         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.815     | 10.713    | 13.287    | 13.037        | 13.162        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 244.520251989
+Full duration: 290.760340929
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 64ff171c-eacd-4b51-9eb5-7ee555382bbb --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 64ff171c-eacd-4b51-9eb5-7ee555382bbb
+
+Using task: 64ff171c-eacd-4b51-9eb5-7ee555382bbb
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileXBgoBH -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 20006},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileonEuQp -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 16735},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileoHVgtJ -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 17444}]
+================================================================================
+
+====> {"randwrite a 256k": [18061, 2433]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 256k == \1\k ]]
++ [[ 256k == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 256k --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:07:31 20036 >>>> Start rally with opts 'task start /tmp/fileOBsnP7 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileelsrCm
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  17732aa2-a66a-4e3d-8fb2-c9419ae85ffd: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:09:11 20230 >>>> Start io test
+13:09:11 20230 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+13:09:17 20232 >>>> Start io test
+13:09:17 20232 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+13:09:21 20231 >>>> Start io test
+13:09:21 20231 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+13:11:28 20231 >>>> Test finished
+13:11:36 20230 >>>> Test finished
+13:11:41 20232 >>>> Test finished
+2015-02-08 13:12:28.505 20036 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: f9d09186-1a0d-4a89-b6b2-bb5220ecb460.
+
+--------------------------------------------------------------------------------
+Task 17732aa2-a66a-4e3d-8fb2-c9419ae85ffd: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileelsrCm',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.425     | 1.498     | 1.61      | 1.58          | 1.595         | 100.0%  | 3     |
+| nova.boot_server            | 62.379    | 62.907    | 63.864    | 63.587        | 63.726        | 100.0%  | 3     |
+| nova.delete_server          | 5.081     | 12.007    | 16.629    | 16.165        | 16.397        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.51      | 1.731     | 2.044     | 1.963         | 2.003         | 100.0%  | 3     |
+| total                       | 238.857   | 242.222   | 244.439   | 244.226       | 244.333       | 100.0%  | 3     |
+| vm.run_command              | 126.737   | 133.773   | 139.833   | 138.816       | 139.324       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.097     | 6.101     | 6.107     | 6.105         | 6.106         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.664     | 12.596    | 17.968    | 16.806        | 17.387        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 244.525714159
+Full duration: 294.872792959
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 17732aa2-a66a-4e3d-8fb2-c9419ae85ffd --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 17732aa2-a66a-4e3d-8fb2-c9419ae85ffd
+
+Using task: 17732aa2-a66a-4e3d-8fb2-c9419ae85ffd
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filez8lESM -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 17154},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileYhM0cD -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15553},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 256,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileGUALBQ -i 2 -s 1003592 -r 256 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 14469}]
+================================================================================
+
+====> {"randwrite a 256k": [15725, 1910]}
+
+================================================================================
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:12:32 20594 >>>> Start rally with opts 'task start /tmp/fileo9tlkK --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filewOyIDo
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f94db26e-a2a2-4c6b-956c-673319b863b3: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:14:15 20788 >>>> Start io test
+13:14:15 20788 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+13:14:16 20790 >>>> Start io test
+13:14:16 20790 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+13:14:21 20789 >>>> Start io test
+13:14:21 20789 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+13:15:54 20789 >>>> Test finished
+13:15:57 20790 >>>> Test finished
+13:15:57 20788 >>>> Test finished
+2015-02-08 13:16:22.569 20594 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 5a6372c5-8a64-48fe-a991-a7612e4ff450.
+
+--------------------------------------------------------------------------------
+Task f94db26e-a2a2-4c6b-956c-673319b863b3: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filewOyIDo',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.465     | 1.472     | 1.479     | 1.478         | 1.478         | 100.0%  | 3     |
+| nova.boot_server            | 59.937    | 63.214    | 67.362    | 66.358        | 66.86         | 100.0%  | 3     |
+| nova.delete_server          | 5.096     | 5.931     | 7.409     | 6.984         | 7.197         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.558     | 3.262     | 6.56      | 5.582         | 6.071         | 100.0%  | 3     |
+| total                       | 188.918   | 189.971   | 191.827   | 191.295       | 191.561       | 100.0%  | 3     |
+| vm.run_command              | 92.472    | 94.542    | 95.698    | 95.65         | 95.674        | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.087     | 6.096     | 6.101     | 6.101         | 6.101         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.545     | 6.928     | 7.585     | 7.399         | 7.492         | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 191.894325018
+Full duration: 227.597376823
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f94db26e-a2a2-4c6b-956c-673319b863b3 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f94db26e-a2a2-4c6b-956c-673319b863b3
+
+Using task: f94db26e-a2a2-4c6b-956c-673319b863b3
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filewjAozL -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7981},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filePSIQ0u -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7596},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file4MqgNg -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7586}]
+================================================================================
+
+====> {"write s 1024k": [7721, 318]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:16:26 21108 >>>> Start rally with opts 'task start /tmp/fileYZs6Ca --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/file8basnA
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  f647cad5-456c-4a12-b553-7eb7c340316c: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:18:09 21310 >>>> Start io test
+13:18:09 21310 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+13:18:16 21308 >>>> Start io test
+13:18:16 21308 >>>> Ready and waiting on barrier. Will wait at most 190 seconds
+13:18:19 21309 >>>> Start io test
+13:18:19 21309 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+13:19:48 21308 >>>> Test finished
+13:19:49 21309 >>>> Test finished
+13:19:50 21310 >>>> Test finished
+2015-02-08 13:20:27.275 21108 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: ef1e6ae7-5107-4cf5-8880-0d33ce5bc8a3.
+
+--------------------------------------------------------------------------------
+Task f647cad5-456c-4a12-b553-7eb7c340316c: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/file8basnA',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.319     | 1.424     | 1.589     | 1.544         | 1.566         | 100.0%  | 3     |
+| nova.boot_server            | 60.946    | 63.111    | 66.024    | 65.292        | 65.658        | 100.0%  | 3     |
+| nova.delete_server          | 5.162     | 5.265     | 5.462     | 5.404         | 5.433         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 2.026     | 5.332     | 7.146     | 7.082         | 7.114         | 100.0%  | 3     |
+| total                       | 186.365   | 188.248   | 189.602   | 189.437       | 189.52        | 100.0%  | 3     |
+| vm.run_command              | 89.225    | 90.387    | 91.904    | 91.53         | 91.717        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.39      | 2.985     | 6.48      | 5.601         | 6.041         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.596     | 8.246     | 11.333    | 10.428        | 10.881        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 189.716176033
+Full duration: 237.949904919
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report f647cad5-456c-4a12-b553-7eb7c340316c --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results f647cad5-456c-4a12-b553-7eb7c340316c
+
+Using task: f647cad5-456c-4a12-b553-7eb7c340316c
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filePf7rkj -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8471},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileOcDdnw -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8401},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileVPR9vF -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8148}]
+================================================================================
+
+====> {"write s 1024k": [8340, 240]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:20:31 21644 >>>> Start rally with opts 'task start /tmp/filefJUHW3 --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileJAo4YS
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  417bc2b0-b0a3-4938-8764-5315f3c95792: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:22:15 21851 >>>> Start io test
+13:22:15 21851 >>>> Ready and waiting on barrier. Will wait at most 195 seconds
+13:22:22 21852 >>>> Start io test
+13:22:22 21852 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+13:22:24 21850 >>>> Start io test
+13:22:24 21850 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+13:23:55 21851 >>>> Test finished
+13:23:55 21850 >>>> Test finished
+13:23:56 21852 >>>> Test finished
+2015-02-08 13:24:28.903 21644 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 1463d330-5e98-4fd8-bf9d-e27927c73096.
+
+--------------------------------------------------------------------------------
+Task 417bc2b0-b0a3-4938-8764-5315f3c95792: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileJAo4YS',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.374     | 1.421     | 1.462     | 1.456         | 1.459         | 100.0%  | 3     |
+| nova.boot_server            | 61.949    | 64.861    | 66.763    | 66.585        | 66.674        | 100.0%  | 3     |
+| nova.delete_server          | 5.263     | 6.762     | 7.511     | 7.511         | 7.511         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.576     | 3.36      | 6.891     | 5.835         | 6.363         | 100.0%  | 3     |
+| total                       | 192.922   | 193.638   | 194.211   | 194.125       | 194.168       | 100.0%  | 3     |
+| vm.run_command              | 90.819    | 91.457    | 92.057    | 91.944        | 92.0          | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.097     | 6.538     | 6.972     | 6.887         | 6.929         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.679     | 8.626     | 11.566    | 10.78         | 11.173        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 194.32030797
+Full duration: 234.857270002
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 417bc2b0-b0a3-4938-8764-5315f3c95792 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 417bc2b0-b0a3-4938-8764-5315f3c95792
+
+Using task: 417bc2b0-b0a3-4938-8764-5315f3c95792
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileEjuFtr -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8357},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileICMErw -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8238},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileZJxXDT -i 0 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8186}]
+================================================================================
+
+====> {"write s 1024k": [8260, 123]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:24:32 22180 >>>> Start rally with opts 'task start /tmp/file2xRbst --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileO6dXDO
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  99c69e58-8366-4f7e-8695-17e94bc978b4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:26:12 22374 >>>> Start io test
+13:26:12 22374 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+13:26:14 22375 >>>> Start io test
+13:26:14 22375 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+13:26:15 22376 >>>> Start io test
+13:26:15 22376 >>>> Ready and waiting on barrier. Will wait at most 197 seconds
+13:27:51 22375 >>>> Test finished
+13:27:54 22374 >>>> Test finished
+13:27:54 22376 >>>> Test finished
+2015-02-08 13:28:36.755 22180 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: bdc23908-9adb-4d56-aea7-20725d49b389.
+
+--------------------------------------------------------------------------------
+Task 99c69e58-8366-4f7e-8695-17e94bc978b4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileO6dXDO',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.318     | 1.377     | 1.439     | 1.426         | 1.432         | 100.0%  | 3     |
+| nova.boot_server            | 60.52     | 61.055    | 61.876    | 61.655        | 61.766        | 100.0%  | 3     |
+| nova.delete_server          | 7.414     | 9.03      | 12.178    | 11.242        | 11.71         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.596     | 3.351     | 6.815     | 5.781         | 6.298         | 100.0%  | 3     |
+| total                       | 196.523   | 198.475   | 200.629   | 200.158       | 200.393       | 100.0%  | 3     |
+| vm.run_command              | 95.615    | 97.676    | 98.97     | 98.865        | 98.917        | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.421     | 4.419     | 6.728     | 6.604         | 6.666         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 12.301    | 14.176    | 15.118    | 15.116        | 15.117        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 200.739916086
+Full duration: 241.454625845
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 99c69e58-8366-4f7e-8695-17e94bc978b4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 99c69e58-8366-4f7e-8695-17e94bc978b4
+
+Using task: 99c69e58-8366-4f7e-8695-17e94bc978b4
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileHp4jX8 -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24832},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file7vsdBz -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24162},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileGpcQSn -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24111}]
+================================================================================
+
+====> {"write a 1024k": [24368, 569]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:28:40 22706 >>>> Start rally with opts 'task start /tmp/file2WWxTg --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileccWD1T
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1d2b1b70-aa93-4ccb-a934-f3ecef2f749a: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:30:20 22902 >>>> Start io test
+13:30:20 22902 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+13:30:21 22901 >>>> Start io test
+13:30:21 22901 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+13:30:21 22900 >>>> Start io test
+13:30:21 22900 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+13:31:56 22902 >>>> Test finished
+13:31:57 22900 >>>> Test finished
+13:31:57 22901 >>>> Test finished
+2015-02-08 13:32:39.146 22706 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 3741cc9a-ff64-45e7-8b4d-77defe8bf695.
+
+--------------------------------------------------------------------------------
+Task 1d2b1b70-aa93-4ccb-a934-f3ecef2f749a: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileccWD1T',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.557     | 1.598     | 1.625     | 1.622         | 1.624         | 100.0%  | 3     |
+| nova.boot_server            | 64.612    | 64.739    | 64.805    | 64.804        | 64.805        | 100.0%  | 3     |
+| nova.delete_server          | 7.442     | 10.49     | 12.018    | 12.016        | 12.017        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.48      | 4.877     | 6.648     | 6.619         | 6.634         | 100.0%  | 3     |
+| total                       | 195.459   | 198.848   | 200.564   | 200.556       | 200.56        | 100.0%  | 3     |
+| vm.run_command              | 95.058    | 95.3      | 95.44     | 95.433        | 95.437        | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.91      | 5.735     | 6.181     | 6.168         | 6.174         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 8.728     | 9.412     | 9.862     | 9.818         | 9.84          | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 200.636078835
+Full duration: 235.925531864
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1d2b1b70-aa93-4ccb-a934-f3ecef2f749a --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1d2b1b70-aa93-4ccb-a934-f3ecef2f749a
+
+Using task: 1d2b1b70-aa93-4ccb-a934-f3ecef2f749a
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file71wXFI -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24108},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filenHkyvG -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24245},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileOh4plt -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 23715}]
+================================================================================
+
+====> {"write a 1024k": [24022, 389]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:32:43 23219 >>>> Start rally with opts 'task start /tmp/fileJbr3wP --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileuKlFnW
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  ae5580ee-669a-4999-b7cf-8056262f3fe4: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:34:00 23416 >>>> Start io test
+13:34:00 23416 >>>> Ready and waiting on barrier. Will wait at most 222 seconds
+13:37:43 23416 >>>> Barrier timeouted
+13:38:26 23416 >>>> Test finished
+2015-02-08 13:39:26.794 23219 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: e3c54941-16f0-49cf-adb7-d097b211f95e.
+
+--------------------------------------------------------------------------------
+Task ae5580ee-669a-4999-b7cf-8056262f3fe4: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileuKlFnW',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.6       | 1.6       | 1.6       | 1.6           | 1.6           | 33.3%   | 3     |
+| nova.boot_server            | 39.755    | 39.755    | 39.755    | 39.755        | 39.755        | 33.3%   | 3     |
+| nova.delete_server          | 5.094     | 5.094     | 5.094     | 5.094         | 5.094         | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 7.515     | 7.515     | 7.515     | 7.515         | 7.515         | 33.3%   | 3     |
+| total                       | 340.681   | 340.681   | 340.681   | 340.681       | 340.681       | 33.3%   | 3     |
+| vm.run_command              | 42.708    | 42.708    | 42.708    | 42.708        | 42.708        | 33.3%   | 3     |
+| vm.wait_for_ping            | 6.115     | 6.115     | 6.115     | 6.115         | 6.115         | 33.3%   | 3     |
+| vm.wait_for_ssh             | 6.732     | 6.732     | 6.732     | 6.732         | 6.732         | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 340.735139847
+Full duration: 400.982530117
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report ae5580ee-669a-4999-b7cf-8056262f3fe4 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results ae5580ee-669a-4999-b7cf-8056262f3fe4
+
+Using task: ae5580ee-669a-4999-b7cf-8056262f3fe4
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filer4In3z -i 0 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 59414}]
+================================================================================
+
+====> {"write a 1024k": [59414, 0]}
+
+================================================================================
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:39:31 23729 >>>> Start rally with opts 'task start /tmp/fileSsy9rX --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filenywCgK
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  328b3c9f-dee9-444a-9b09-303a750f05f1: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:41:19 23923 >>>> Start io test
+13:41:19 23923 >>>> Ready and waiting on barrier. Will wait at most 191 seconds
+13:41:21 23924 >>>> Start io test
+13:41:21 23924 >>>> Ready and waiting on barrier. Will wait at most 189 seconds
+13:41:29 23925 >>>> Start io test
+13:41:29 23925 >>>> Ready and waiting on barrier. Will wait at most 181 seconds
+13:43:07 23924 >>>> Test finished
+13:43:08 23925 >>>> Test finished
+13:43:09 23923 >>>> Test finished
+2015-02-08 13:43:58.404 23729 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 5ff7f9e6-a5f5-490a-adfc-46c87648203b.
+
+--------------------------------------------------------------------------------
+Task 328b3c9f-dee9-444a-9b09-303a750f05f1: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filenywCgK',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.498     | 1.513     | 1.526     | 1.524         | 1.525         | 100.0%  | 3     |
+| nova.boot_server            | 58.825    | 62.519    | 65.834    | 65.246        | 65.54         | 100.0%  | 3     |
+| nova.delete_server          | 5.12      | 6.734     | 9.672     | 8.82          | 9.246         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.583     | 3.304     | 6.588     | 5.618         | 6.103         | 100.0%  | 3     |
+| total                       | 202.516   | 207.082   | 213.356   | 211.76        | 212.558       | 100.0%  | 3     |
+| vm.run_command              | 97.813    | 99.163    | 100.461   | 100.212       | 100.337       | 100.0%  | 3     |
+| vm.wait_for_ping            | 2.082     | 3.421     | 6.093     | 5.292         | 5.693         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.035     | 12.233    | 17.704    | 16.755        | 17.229        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 213.47081089
+Full duration: 264.943139076
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 328b3c9f-dee9-444a-9b09-303a750f05f1 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 328b3c9f-dee9-444a-9b09-303a750f05f1
+
+Using task: 328b3c9f-dee9-444a-9b09-303a750f05f1
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filepyA7BH -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7821},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileeo9qIT -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7708},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filebEei2L -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7620}]
+================================================================================
+
+====> {"randwrite s 1024k": [7716, 142]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:44:02 24275 >>>> Start rally with opts 'task start /tmp/filek8OwpC --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileRRKcIR
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1379d7ed-4fb8-4855-b2f7-1437a649a4a8: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:45:46 24470 >>>> Start io test
+13:45:46 24470 >>>> Ready and waiting on barrier. Will wait at most 196 seconds
+13:45:50 24469 >>>> Start io test
+13:45:50 24469 >>>> Ready and waiting on barrier. Will wait at most 192 seconds
+13:45:54 24471 >>>> Start io test
+13:45:54 24471 >>>> Ready and waiting on barrier. Will wait at most 188 seconds
+13:47:29 24470 >>>> Test finished
+13:47:33 24469 >>>> Test finished
+13:47:35 24471 >>>> Test finished
+2015-02-08 13:48:12.704 24275 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: f9813d5f-c59f-4169-9fd9-4ff66edcc98d.
+
+--------------------------------------------------------------------------------
+Task 1379d7ed-4fb8-4855-b2f7-1437a649a4a8: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileRRKcIR',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.449     | 1.489     | 1.515     | 1.513         | 1.514         | 100.0%  | 3     |
+| nova.boot_server            | 61.357    | 61.792    | 62.024    | 62.018        | 62.021        | 100.0%  | 3     |
+| nova.delete_server          | 5.199     | 9.06      | 12.162    | 11.693        | 11.928        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.656     | 1.701     | 1.742     | 1.735         | 1.738         | 100.0%  | 3     |
+| total                       | 194.48    | 197.59    | 200.757   | 200.112       | 200.435       | 100.0%  | 3     |
+| vm.run_command              | 95.575    | 98.77     | 101.116   | 100.817       | 100.966       | 100.0%  | 3     |
+| vm.wait_for_ping            | 4.42      | 5.703     | 6.595     | 6.495         | 6.545         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 7.351     | 9.994     | 12.818    | 12.217        | 12.517        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 200.84328413
+Full duration: 247.447429895
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1379d7ed-4fb8-4855-b2f7-1437a649a4a8 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1379d7ed-4fb8-4855-b2f7-1437a649a4a8
+
+Using task: 1379d7ed-4fb8-4855-b2f7-1437a649a4a8
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileRAjPV1 -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 8295},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filej500CE -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7836},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/file4ENoUX -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 7612}]
+================================================================================
+
+====> {"randwrite s 1024k": [7914, 492]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:48:16 24817 >>>> Start rally with opts 'task start /tmp/fileeUK0kL --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filef7BNL4
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  087cc419-13e8-4286-8b9b-826a42e25b99: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:49:40 25014 >>>> Start io test
+13:49:40 25014 >>>> Ready and waiting on barrier. Will wait at most 216 seconds
+13:53:16 25014 >>>> Barrier timeouted
+13:54:13 25014 >>>> Test finished
+2015-02-08 13:55:12.311 24817 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 003450e9-f893-4435-92f9-ba4a9e0633f6.
+
+--------------------------------------------------------------------------------
+Task 087cc419-13e8-4286-8b9b-826a42e25b99: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filef7BNL4',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 2.366     | 2.366     | 2.366     | 2.366         | 2.366         | 33.3%   | 3     |
+| nova.boot_server            | 40.069    | 40.069    | 40.069    | 40.069        | 40.069        | 33.3%   | 3     |
+| nova.delete_server          | 9.812     | 9.812     | 9.812     | 9.812         | 9.812         | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 7.087     | 7.087     | 7.087     | 7.087         | 7.087         | 33.3%   | 3     |
+| total                       | 358.149   | 358.149   | 358.149   | 358.149       | 358.149       | 33.3%   | 3     |
+| vm.run_command              | 56.353    | 56.353    | 56.353    | 56.353        | 56.353        | 33.3%   | 3     |
+| vm.wait_for_ping            | 6.106     | 6.106     | 6.106     | 6.106         | 6.106         | 33.3%   | 3     |
+| vm.wait_for_ssh             | 11.186    | 11.186    | 11.186    | 11.186        | 11.186        | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 358.275934935
+Full duration: 413.230271101
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 087cc419-13e8-4286-8b9b-826a42e25b99 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 087cc419-13e8-4286-8b9b-826a42e25b99
+
+Using task: 087cc419-13e8-4286-8b9b-826a42e25b99
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/filepFLxsY -i 2 -s 512000 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 512000,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 13768}]
+================================================================================
+
+====> {"randwrite s 1024k": [13768, 0]}
+
+================================================================================
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+13:55:17 25333 >>>> Start rally with opts 'task start /tmp/fileQYkmLZ --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileHugc3x
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  c3c10149-d120-4a37-bbb3-400d8b2f5890: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+13:57:03 25530 >>>> Start io test
+13:57:03 25530 >>>> Ready and waiting on barrier. Will wait at most 193 seconds
+14:00:17 25530 >>>> Barrier timeouted
+14:01:06 25530 >>>> Test finished
+2015-02-08 14:02:09.756 25333 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: a229f4c7-a4ee-4487-9832-ba98ec3ccde0.
+
+--------------------------------------------------------------------------------
+Task c3c10149-d120-4a37-bbb3-400d8b2f5890: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileHugc3x',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.555     | 1.555     | 1.555     | 1.555         | 1.555         | 33.3%   | 3     |
+| nova.boot_server            | 41.668    | 41.668    | 41.668    | 41.668        | 41.668        | 33.3%   | 3     |
+| nova.delete_server          | 10.251    | 10.251    | 10.251    | 10.251        | 10.251        | 33.3%   | 3     |
+| nova.dissociate_floating_ip | 7.399     | 7.399     | 7.399     | 7.399         | 7.399         | 33.3%   | 3     |
+| total                       | 337.675   | 337.675   | 337.675   | 337.675       | 337.675       | 33.3%   | 3     |
+| vm.run_command              | 49.83     | 49.83     | 49.83     | 49.83         | 49.83         | 33.3%   | 3     |
+| vm.wait_for_ping            | 6.104     | 6.104     | 6.104     | 6.104         | 6.104         | 33.3%   | 3     |
+| vm.wait_for_ssh             | 19.592    | 19.592    | 19.592    | 19.592        | 19.592        | 33.3%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 337.831172943
+Full duration: 410.664282084
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report c3c10149-d120-4a37-bbb3-400d8b2f5890 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results c3c10149-d120-4a37-bbb3-400d8b2f5890
+
+Using task: c3c10149-d120-4a37-bbb3-400d8b2f5890
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filenVGcsq -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 61558}]
+================================================================================
+
+====> {"randwrite a 1024k": [61558, 0]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+14:02:14 25883 >>>> Start rally with opts 'task start /tmp/fileK9qF6L --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filerj2WuF
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  a762060f-298c-4634-9080-97ca7e42eeba: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+14:04:08 26080 >>>> Start io test
+14:04:08 26080 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+14:04:13 26078 >>>> Start io test
+14:04:13 26078 >>>> Ready and waiting on barrier. Will wait at most 180 seconds
+14:04:14 26079 >>>> Start io test
+14:04:14 26079 >>>> Ready and waiting on barrier. Will wait at most 180 seconds
+14:06:01 26080 >>>> Test finished
+14:06:02 26078 >>>> Test finished
+14:06:05 26079 >>>> Test finished
+2015-02-08 14:06:47.085 25883 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 3308cd4f-1cf1-482d-a0d9-d2ebe2b06fd7.
+
+--------------------------------------------------------------------------------
+Task a762060f-298c-4634-9080-97ca7e42eeba: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filerj2WuF',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.457     | 3.171     | 6.47      | 5.493         | 5.982         | 100.0%  | 3     |
+| nova.boot_server            | 61.421    | 61.986    | 62.383    | 62.337        | 62.36         | 100.0%  | 3     |
+| nova.delete_server          | 5.46      | 7.985     | 10.683    | 10.109        | 10.396        | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 6.594     | 7.072     | 7.916     | 7.674         | 7.795         | 100.0%  | 3     |
+| total                       | 208.004   | 211.184   | 215.091   | 214.164       | 214.628       | 100.0%  | 3     |
+| vm.run_command              | 107.263   | 109.086   | 111.682   | 111.008       | 111.345       | 100.0%  | 3     |
+| vm.wait_for_ping            | 0.54      | 4.242     | 6.096     | 6.095         | 6.095         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 6.877     | 10.548    | 13.018    | 12.765        | 12.891        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 215.176527977
+Full duration: 270.004892111
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report a762060f-298c-4634-9080-97ca7e42eeba --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results a762060f-298c-4634-9080-97ca7e42eeba
+
+Using task: a762060f-298c-4634-9080-97ca7e42eeba
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filegHEeBc -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 26258},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file2zUnNt -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24007},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/filepCCZ3t -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 22822}]
+================================================================================
+
+====> {"randwrite a 1024k": [24362, 2468]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ write randwrite == \w\r\i\t\e ]]
++ [[ a == \s ]]
++ [[ 1m == \1\k ]]
++ [[ 1m == \4\k ]]
++ ssync=
++ factor=r2
++ io_opts='--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 '
++ python run_rally_test.py -l -o '--type iozone -a randwrite --iodepth 16 --blocksize 1m --iosize r2 ' -t io-scenario iozone '--rally-extra-opts=--deployment perf-1'
+14:06:51 26377 >>>> Start rally with opts 'task start /tmp/fileGpwlRo --deployment perf-1'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/filer82qIz
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  7ae72640-de47-4e90-a0cb-f0ea45578756: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+14:08:43 26609 >>>> Start io test
+14:08:43 26609 >>>> Ready and waiting on barrier. Will wait at most 187 seconds
+14:08:45 26607 >>>> Start io test
+14:08:45 26607 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+14:08:45 26608 >>>> Start io test
+14:08:45 26608 >>>> Ready and waiting on barrier. Will wait at most 185 seconds
+14:10:37 26608 >>>> Test finished
+14:10:38 26609 >>>> Test finished
+14:10:38 26607 >>>> Test finished
+2015-02-08 14:11:20.893 26377 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 4cf37d38-0800-4651-aeea-895b2b128311.
+
+--------------------------------------------------------------------------------
+Task 7ae72640-de47-4e90-a0cb-f0ea45578756: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/filer82qIz',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.391     | 1.482     | 1.628     | 1.588         | 1.608         | 100.0%  | 3     |
+| nova.boot_server            | 61.855    | 64.088    | 66.003    | 65.683        | 65.843        | 100.0%  | 3     |
+| nova.delete_server          | 5.148     | 6.208     | 7.38      | 7.123         | 7.251         | 100.0%  | 3     |
+| nova.dissociate_floating_ip | 1.676     | 3.369     | 6.745     | 5.733         | 6.239         | 100.0%  | 3     |
+| total                       | 207.972   | 210.159   | 213.783   | 212.77        | 213.276       | 100.0%  | 3     |
+| vm.run_command              | 111.505   | 112.445   | 112.966   | 112.946       | 112.956       | 100.0%  | 3     |
+| vm.wait_for_ping            | 6.092     | 6.179     | 6.349     | 6.298         | 6.323         | 100.0%  | 3     |
+| vm.wait_for_ssh             | 10.856    | 11.972    | 13.748    | 13.261        | 13.504        | 100.0%  | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 213.869872093
+Full duration: 264.982720852
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 7ae72640-de47-4e90-a0cb-f0ea45578756 --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 7ae72640-de47-4e90-a0cb-f0ea45578756
+
+Using task: 7ae72640-de47-4e90-a0cb-f0ea45578756
+================================================================================
+[{u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileXBug9S -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 24653},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/fileSa60x3 -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21818},
+ {u'__meta__': {u'action': u'randwrite',
+                u'blocksize': 1024,
+                u'cmdline': u'/tmp/io_tool -V 109 -f /tmp/file6rx8tk -i 2 -s 1003592 -r 1024 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 1003592,
+                u'sync': False,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 21885}]
+================================================================================
+
+====> {"randwrite a 1024k": [22785, 2287]}
+
+================================================================================
diff --git a/results/results_perf_group_2.txt b/results/results_perf_group_2.txt
new file mode 100644
index 0000000..cfbafe6
--- /dev/null
+++ b/results/results_perf_group_2.txt
@@ -0,0 +1,180 @@
+The program 'ash' is currently not installed. You can install it by typing:
+sudo apt-get install ash
++ set -e
++ type=iozone
++ bsizes='1k 4k 64k 256k 1m'
++ ops='write randwrite'
++ osync='s a'
++ three_times='1 2 3'
++ for bsize in '$bsizes'
++ for op in '$ops'
++ for sync in '$osync'
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-2'
+10:31:20 31634 >>>> Start rally with opts 'task start /tmp/fileaYHsj9 --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileAWKFRy
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  1dfa33c1-9fbe-4488-b719-dee12cdbe8ca: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:33:00 31873 >>>> Start io test
+10:33:00 31873 >>>> Ready and waiting on barrier. Will wait at most 200 seconds
+10:33:01 31875 >>>> Start io test
+10:33:01 31875 >>>> Ready and waiting on barrier. Will wait at most 199 seconds
+10:36:20 31875 >>>> Barrier timeouted
+10:36:20 31873 >>>> Barrier timeouted
+10:36:46 31873 >>>> Test finished
+10:36:58 31875 >>>> Test finished
+2015-02-08 10:37:39.404 31634 WARNING rally.benchmark.context.secgroup [-] Unable to delete secgroup: 59b1db8d-45e3-44fb-ad60-bd46ad48bf6a.
+
+--------------------------------------------------------------------------------
+Task 1dfa33c1-9fbe-4488-b719-dee12cdbe8ca: finished
+--------------------------------------------------------------------------------
+
+test scenario VMTasks.boot_runcommand_delete
+args position 0
+args values:
+{u'args': {u'flavor': {u'name': u'ceph.512'},
+           u'floating_network': u'net04_ext',
+           u'force_delete': False,
+           u'image': {u'name': u'ubuntu'},
+           u'interpreter': u'/usr/bin/env python2',
+           u'script': u'/tmp/fileAWKFRy',
+           u'username': u'ubuntu'},
+ u'context': {u'network': {u'networks_per_tenant': 1,
+                           u'start_cidr': u'10.2.0.0/24'},
+              u'users': {u'project_domain': u'default',
+                         u'resource_management_workers': 30,
+                         u'tenants': 1,
+                         u'user_domain': u'default',
+                         u'users_per_tenant': 1}},
+ u'runner': {u'concurrency': 3, u'times': 3, u'type': u'constant'}}
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| action                      | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+| nova.associate_floating_ip  | 1.425     | 1.513     | 1.601     | 1.584         | 1.593         | 66.7%   | 3     |
+| nova.boot_server            | 19.171    | 19.469    | 19.767    | 19.707        | 19.737        | 66.7%   | 3     |
+| nova.delete_server          | 7.349     | 7.453     | 7.556     | 7.536         | 7.546         | 66.7%   | 3     |
+| nova.dissociate_floating_ip | 6.385     | 6.482     | 6.579     | 6.559         | 6.569         | 66.7%   | 3     |
+| total                       | 295.29    | 301.688   | 308.086   | 306.807       | 307.447       | 66.7%   | 3     |
+| vm.run_command              | 25.915    | 32.063    | 38.212    | 36.982        | 37.597        | 66.7%   | 3     |
+| vm.wait_for_ping            | 0.366     | 1.226     | 2.086     | 1.914         | 2.0           | 66.7%   | 3     |
+| vm.wait_for_ssh             | 18.783    | 20.305    | 21.827    | 21.522        | 21.674        | 66.7%   | 3     |
++-----------------------------+-----------+-----------+-----------+---------------+---------------+---------+-------+
+Load duration: 308.205312967
+Full duration: 375.246491194
+
+Scenario Specific Results
+
++-------+-----+-----+-----+--------------+--------------+
+| key   | max | avg | min | 90 pecentile | 95 pecentile |
++-------+-----+-----+-----+--------------+--------------+
+| rally | 0.0 | 0.0 | 0.0 | 0.0          | 0.0          |
++-------+-----+-----+-----+--------------+--------------+
+
+HINTS:
+* To plot HTML graphics with this data, run:
+	rally task report 1dfa33c1-9fbe-4488-b719-dee12cdbe8ca --out output.html
+
+* To get raw JSON output of task results, run:
+	rally task results 1dfa33c1-9fbe-4488-b719-dee12cdbe8ca
+
+Using task: 1dfa33c1-9fbe-4488-b719-dee12cdbe8ca
+================================================================================
+[{u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileSGUQjO -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 25},
+ {u'__meta__': {u'action': u'write',
+                u'blocksize': 1,
+                u'cmdline': u'/tmp/io_tool -V 109 -o -f /tmp/fileakS5oi -i 0 -s 500 -r 1 -+n',
+                u'concurence': 1,
+                u'direct_io': False,
+                u'iodepth': 16,
+                u'size': 500,
+                u'sync': True,
+                u'use_hight_io_priority': True},
+  u'bw_mean': 15}]
+================================================================================
+
+====> {"write s 1k": [20, 7]}
+
+================================================================================
++ for xxx in '$three_times'
++ [[ s == \s ]]
++ ssync=-s
++ factor=x500
++ io_opts='--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s'
++ python run_rally_test.py -l -o '--type iozone -a write --iodepth 16 --blocksize 1k --iosize x500 -s' -t io-scenario iozone '--rally-extra-opts=--deployment perf-2'
+10:37:42 32523 >>>> Start rally with opts 'task start /tmp/fileOZXjOx --deployment perf-2'
+--------------------------------------------------------------------------------
+ Preparing input task
+--------------------------------------------------------------------------------
+
+Input task is:
+VMTasks.boot_runcommand_delete:
+- args:
+    flavor: {name: ceph.512}
+    floating_network: net04_ext
+    force_delete: false
+    image: {name: ubuntu}
+    interpreter: /usr/bin/env python2
+    script: /tmp/fileh1ZCRx
+    username: ubuntu
+  context:
+    network: {}
+    users: {tenants: 1, users_per_tenant: 1}
+  runner: {concurrency: 3, times: 3, type: constant}
+
+--------------------------------------------------------------------------------
+ Task  3540ab21-a9a0-44d6-8e06-3284a1aa4824: started
+--------------------------------------------------------------------------------
+
+Benchmarking... This can take a while...
+
+To track task status use:
+
+	rally task status
+	or
+	rally task detailed
+
+10:38:42 313 >>>> Start io test
+10:38:42 313 >>>> Ready and waiting on barrier. Will wait at most 240 seconds
+10:38:48 311 >>>> Start io test
+10:38:48 311 >>>> Ready and waiting on barrier. Will wait at most 234 seconds
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000..342356e
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+set -x
+set -e
+
+type="iozone"
+
+bsizes="1k 4k 64k 256k 1m"
+ops="write randwrite"
+osync="s a"
+three_times="1 2 3"
+
+for bsize in $bsizes ; do
+	for op in $ops ; do 
+		for sync in $osync ; do 
+			for xxx in $three_times ; do
+				if [[ "$ops" == "write" && "$osync" == "s" ]] ; then
+					continue
+				fi
+
+				if [[ "$sync" == "s" ]] ; then
+					ssync="-s"
+					factor="x500"
+				else
+					if [[ "$bsize" == "1k" || "$bsize" == "4k" ]] ; then
+						continue
+					fi
+
+					ssync=
+					factor="r2"
+				fi
+
+				io_opts="--type $type -a $op --iodepth 16 --blocksize $bsize --iosize $factor $ssync"
+				python run_rally_test.py -l -o "$io_opts" -t io-scenario $type --rally-extra-opts="--deployment $1"
+			done
+		done
+	done
+done
+
+# bsizes="4k 64k 256k 1m"
+# ops="randread read"
+
+# for bsize in $bsizes ; do
+# 	for op in $ops ; do 
+# 		for xxx in $three_times ; do
+# 			io_opts="--type $type -a $op --iodepth 16 --blocksize $bsize --iosize r2"
+# 			python run_rally_test.py -l -o "$io_opts" -t io-scenario $type --rally-extra-opts="--deployment $1"
+# 		done
+# 	done
+# done
+
+# bsizes="1k 4k"
+# ops="randwrite write"
+# three_times="1 2 3"
+
+# for bsize in $bsizes ; do
+# 	for op in $ops ; do 
+# 		for xxx in $three_times ; do
+# 			factor="r2"
+# 			io_opts="--type $type -a $op --iodepth 16 --blocksize $bsize --iosize $factor"
+# 			python run_rally_test.py -l -o "$io_opts" -t io-scenario $type --rally-extra-opts="--deployment $1"
+# 		done
+# 	done
+# done
+
+# ops="randread read"
+
+# for op in $ops ; do 
+# 	for xxx in $three_times ; do
+# 		io_opts="--type $type -a $op --iodepth 16 --blocksize 1k --iosize r2"
+# 		python run_rally_test.py -l -o "$io_opts" -t io-scenario $type --rally-extra-opts="--deployment $1"
+# 	done
+# done
diff --git a/run_2.sh b/run_2.sh
new file mode 100644
index 0000000..566b1d5
--- /dev/null
+++ b/run_2.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+set -x
+set -e
+
+type="iozone"
+
+bsizes="1k 4k 64k 256k 1m"
+ops="randwrite write"
+osync="s a"
+three_times="1 2 3"
+
+for bsize in $bsizes ; do
+	for op in $ops ; do 
+		for sync in $osync ; do 
+			for xxx in $three_times ; do
+				if [[ "$sync" == "s" ]] ; then
+					ssync="-s"
+					factor="x500"
+				else
+					if [[ "$bsize" == "1k" || "$bsize" == "4k" ]] ; then
+						continue
+					fi
+
+					ssync=
+					factor="r2"
+				fi
+
+				python run_rally_test.py -l -o "--type $type -a $op --iodepth 16 --blocksize $bsize --iosize $factor $ssync" -t io-scenario $type --rally-extra-opts="--deployment perf-2"
+			done
+		done
+	done
+done
+
+bsizes="4k 64k 256k 1m"
+ops="randread read"
+
+for bsize in $bsizes ; do
+	for op in $ops ; do 
+		for xxx in $three_times ; do
+			python run_rally_test.py -l -o "--type $type -a $op --iodepth 16 --blocksize $bsize --iosize r2" -t io-scenario $type --rally-extra-opts="--deployment perf-2"
+		done
+	done
+done
diff --git a/run_rally_test.py b/run_rally_test.py
index 3787da4..ffad0ff 100644
--- a/run_rally_test.py
+++ b/run_rally_test.py
@@ -17,6 +17,7 @@
 from rally.cmd import cliutils
 from rally.cmd.main import categories
 from rally.benchmark.scenarios.vm.utils import VMScenario
+from rally.benchmark.scenarios.vm.vmtasks import VMTasks
 
 from ssh_copy_directory import put_dir_recursively, ssh_copy_file
 
@@ -27,6 +28,33 @@
     sys.stderr.write(pref + x.replace("\n", "\n" + pref) + "\n")
 
 
+@contextlib.contextmanager
+def patch_VMTasks_boot_runcommand_delete():
+
+    try:
+        orig = VMTasks.boot_runcommand_delete
+    except AttributeError:
+        # rally code was changed
+        log("VMTasks class was changed and have no boot_runcommand_delete"
+            " method anymore. Update patch code.")
+        raise exceptions.ScriptError("monkeypatch code fails on "
+                                     "VMTasks.boot_runcommand_delete")
+
+    @functools.wraps(orig)
+    def new_boot_runcommand_delete(self, *args, **kwargs):
+        if 'rally_affinity_group' in os.environ:
+            group_id = os.environ['rally_affinity_group']
+            kwargs['scheduler_hints'] = {'group': group_id}
+        return orig(self, *args, **kwargs)
+
+    VMTasks.boot_runcommand_delete = new_boot_runcommand_delete
+
+    try:
+        yield
+    finally:
+        VMTasks.boot_runcommand_delete = orig
+
+
 def get_barrier(count):
     val = multiprocessing.Value('i', count)
     cond = multiprocessing.Condition()
@@ -50,7 +78,6 @@
 
 # should actually use mock module for this,
 # but don't wanna to add new dependency
-
 @contextlib.contextmanager
 def patch_VMScenario_run_command_over_ssh(paths,
                                           on_result_cb,
@@ -185,7 +212,8 @@
 
 
 def run_test(tool, testtool_py_args_v, dst_testtool_path, files_dir,
-             rally_extra_opts, max_preparation_time=300):
+             rally_extra_opts, max_preparation_time=300,
+             keet_temp_files=False):
 
     path = 'iozone' if 'iozone' == tool else 'fio'
     testtool_local = os.path.join(files_dir, path)
@@ -202,15 +230,16 @@
         result_queue = multiprocessing.Queue()
         results_cb = result_queue.put
 
-        do_patch = patch_VMScenario_run_command_over_ssh
+        do_patch1 = patch_VMScenario_run_command_over_ssh
 
         barrier = get_barrier(concurrency)
         max_release_time = time.time() + max_preparation_time
 
-        with do_patch(copy_files, results_cb, barrier, max_release_time):
-            opts = ['task', 'start', yaml_file] + list(rally_extra_opts)
-            log("Start rally with opts '{0}'".format(" ".join(opts)))
-            run_rally(opts)
+        with patch_VMTasks_boot_runcommand_delete():
+            with do_patch1(copy_files, results_cb, barrier, max_release_time):
+                opts = ['task', 'start', yaml_file] + list(rally_extra_opts)
+                log("Start rally with opts '{0}'".format(" ".join(opts)))
+                run_rally(opts)
 
         rally_result = []
         while not result_queue.empty():
@@ -219,8 +248,9 @@
         return rally_result
 
     finally:
-        os.unlink(yaml_file)
-        os.unlink(py_file)
+        if not keet_temp_files:
+            os.unlink(yaml_file)
+            os.unlink(py_file)
 
 
 def parse_args(argv):
@@ -236,10 +266,13 @@
                         help="cmd line options for io.py")
     parser.add_argument("-t", "--test-directory", help="directory with test",
                         dest="test_directory", required=True)
-    parser.add_argument("rally_extra_opts", nargs="*",
-                        default=[], help="rally extra options")
     parser.add_argument("--max-preparation-time", default=300,
                         type=int, dest="max_preparation_time")
+    parser.add_argument("-k", "--keep", default=False,
+                        help="keep temporary files",
+                        dest="keet_temp_files", action='store_true')
+    parser.add_argument("--rally-extra-opts", dest="rally_extra_opts",
+                        default="", help="rally extra options")
 
     return parser.parse_args(argv)
 
@@ -277,7 +310,10 @@
                             tt_argv.append('-s')
             testtool_py_args_v.append(tt_argv)
     else:
-        testtool_py_args_v = [o.split(" ") for o in opts.io_opts]
+        testtool_py_args_v = []
+        for o in opts.io_opts:
+            ttopts = [opt.strip() for opt in o.split(" ") if opt.strip() != ""]
+            testtool_py_args_v.append(ttopts)
 
     for io_argv_list in testtool_py_args_v:
         io_argv_list.extend(['--binary-path', dst_testtool_path])
@@ -286,11 +322,33 @@
                    testtool_py_args_v,
                    dst_testtool_path,
                    files_dir=opts.test_directory,
-                   rally_extra_opts=opts.rally_extra_opts,
-                   max_preparation_time=opts.max_preparation_time)
+                   rally_extra_opts=opts.rally_extra_opts.split(" "),
+                   max_preparation_time=opts.max_preparation_time,
+                   keet_temp_files=opts.keet_temp_files)
 
-    print "Results = ",
-    pprint.pprint(res)
+    print "=" * 80
+    print pprint.pformat(res)
+    print "=" * 80
+
+    if len(res) != 0:
+        bw_mean = 0.0
+        for measurement in res:
+            bw_mean += measurement["bw_mean"]
+
+        bw_mean /= len(res)
+
+        it = ((bw_mean - measurement["bw_mean"]) ** 2 for measurement in res)
+        bw_dev = sum(it) ** 0.5
+
+        meta = res[0]['__meta__']
+        key = "{0} {1} {2}k".format(meta['action'],
+                                    's' if meta['sync'] else 'a',
+                                    meta['blocksize'])
+
+        print
+        print "====> " + json.dumps({key: (int(bw_mean), int(bw_dev))})
+        print
+        print "=" * 80
 
     return 0
 
@@ -300,6 +358,8 @@
 # glance image-create --name 'ubuntu' --disk-format qcow2
 # --container-format bare --is-public true --copy-from
 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
+# nova flavor-create ceph.512 ceph.512 512 50 1
+# nova server-group-create --policy anti-affinity ceph
 
 if __name__ == '__main__':
     exit(main(sys.argv[1:]))
diff --git a/storage_api.py b/storage_api.py
index 026a46d..7841297 100644
--- a/storage_api.py
+++ b/storage_api.py
@@ -1,11 +1,12 @@
 from urlparse import urlparse
 # from gspread import WorksheetNotFound, login
+# from gspread import login
 import json
 import os
-from gspread import login, WorksheetNotFound
+# from gspread import login, WorksheetNotFound
 from config import ROW_COUNT, DOCUMENT_ID, WORK_SHEET
 
-TEST_PATH = os.environ.get("TEST_PATH", os.path.dirname(__file__) + "/test_results")
+# TEST_PATH = os.environ.get("TEST_PATH", os.path.dirname(__file__) + "/test_results")
 
 
 def get_work_sheet(sheet, name, column_names):
@@ -58,7 +59,6 @@
 
 def create_storage(url, email=None, password=None):
     u = urlparse(url)
-
     if u.scheme == 'file':
         storage = DiskStorage(u.path)
     else:
@@ -187,6 +187,6 @@
         return result
 
 
-if __name__ == "__main__":
-    storage = create_storage("file:///home/gstepanov/rally-results-processor/sample.json", "", "")
-    print storage.recent_builds()
+#if __name__ == "__main__":
+#    storage = create_storage("file:///home/gstepanov/rally-results-processor/sample.json", "", "")
+#    print storage.recent_builds()
