diff --git a/envs/cz-perf-1.json b/envs/cz-perf-1.json
deleted file mode 100644
index ca6b54c..0000000
--- a/envs/cz-perf-1.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    "type": "ExistingCloud",
-    "auth_url": "http://172.16.53.2:5000/v2.0/",
-    "region_name": "RegionOne",
-    "endpoint_type": "public",
-    "endpoint": "http://172.16.53.2:35357/v2.0/",
-    "admin": {
-        "username": "admin",
-        "password": "admin",
-        "tenant_name": "admin"
-    }
-}
\ No newline at end of file
diff --git a/envs/cz-perf-2.json b/envs/cz-perf-2.json
deleted file mode 100644
index 81eb1e4..0000000
--- a/envs/cz-perf-2.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    "type": "ExistingCloud",
-    "auth_url": "http://172.16.53.66:5000/v2.0/",
-    "region_name": "RegionOne",
-    "endpoint_type": "public",
-    "endpoint": "http://172.16.53.66:35357/v2.0/",
-    "admin": {
-        "username": "admin",
-        "password": "admin",
-        "tenant_name": "admin"
-    }
-}
\ No newline at end of file
diff --git a/results/results_perf_1.txt b/results/results_perf_1.txt
deleted file mode 100644
index d41ff5c..0000000
--- a/results/results_perf_1.txt
+++ /dev/null
@@ -1,9793 +0,0 @@
-+ 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
deleted file mode 100644
index c7a1cc5..0000000
--- a/results/results_perf_1_fio.txt
+++ /dev/null
@@ -1,2362 +0,0 @@
-+ 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
deleted file mode 100644
index 41605fa..0000000
--- a/results/results_perf_2.txt
+++ /dev/null
@@ -1,8463 +0,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/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
deleted file mode 100644
index a3feac1..0000000
--- a/results/results_perf_2_fio.txt
+++ /dev/null
@@ -1,2359 +0,0 @@
-+ 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
deleted file mode 100644
index eb8b850..0000000
--- a/results/results_perf_group_1.txt
+++ /dev/null
@@ -1,11944 +0,0 @@
-+ 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
deleted file mode 100644
index cfbafe6..0000000
--- a/results/results_perf_group_2.txt
+++ /dev/null
@@ -1,180 +0,0 @@
-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_test.py b/run_test.py
index a5381ae..2f09ef8 100644
--- a/run_test.py
+++ b/run_test.py
@@ -175,7 +175,8 @@
     data = "\n{0}\n".format("=" * 80)
     data += pprint.pformat(res) + "\n"
     data += "{0}\n".format("=" * 80)
-    return data + "\n" + "\n====> {0}\n\n{1}\n".format(format_measurements_stat(res), "=" * 80) + "\n"
+    templ = "{0}\n\n====> {1}\n\n{2}\n\n"
+    return templ.format(data, format_measurements_stat(res), "=" * 80)
 
 
 def main(argv):
@@ -187,7 +188,7 @@
 
     io_opts = get_io_opts(opts.io_opts_file, opts.io_opts)
     data_server_url = opts.data_server_url
-    lab_name = opts.lab_name
+    # lab_name = opts.lab_name
     build_name = opts.build_name
 
     if opts.runner == "rally":
diff --git a/web_app/keystone.py b/web_app/keystone.py
index 38f49e0..e6308b5 100644
--- a/web_app/keystone.py
+++ b/web_app/keystone.py
@@ -44,10 +44,6 @@
         request.get_method = lambda: method.upper()
         response = urllib2.urlopen(request)
 
-        print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-        # if method.lower() == "put":
-        #     import ipdb;ipdb.set_trace()
-
         if response.code < 200 or response.code > 209:
             raise IndexError(url)
 
@@ -91,9 +87,3 @@
                 return super(KeystoneAuth, self).do(method, path, params)
             else:
                 raise
-
-#
-# cred = {"username": "admin", "password": "admin", "tenant_name": "admin"}
-# keystone = KeystoneAuth(root_url='http://172.16.52.112:8000', creds=cred, admin_node_ip='172.16.52.112')
-# result = keystone.do(method='get', path="api/nodes")
-# print result
\ No newline at end of file
