removed rally
diff --git a/rally_runner.py b/rally_runner.py
deleted file mode 100644
index 90051fb..0000000
--- a/rally_runner.py
+++ /dev/null
@@ -1,178 +0,0 @@
-import os
-import json
-import time
-import yaml
-import logging
-import warnings
-import functools
-import contextlib
-import multiprocessing
-
-from rally import exceptions
-from rally.cmd import cliutils
-from rally.cmd.main import categories
-from rally.benchmark.scenarios.vm.utils import VMScenario
-from rally.benchmark.scenarios.vm.vmtasks import VMTasks
-
-import itest
-from utils import get_barrier, wait_on_barrier
-
-
-log = logging.getLogger("io-perf-tool").debug
-
-
-@contextlib.contextmanager
-def patch_VMTasks_boot_runcommand_delete():
-
-    try:
-        orig = VMTasks.boot_runcommand_delete
-    except AttributeError:
-        # rally code was changed
-        log("VMTasks class was changed and have no boot_runcommand_delete"
-            " method anymore. Update patch code.")
-        raise exceptions.ScriptError("monkeypatch code fails on "
-                                     "VMTasks.boot_runcommand_delete")
-
-    @functools.wraps(orig)
-    def new_boot_runcommand_delete(self, *args, **kwargs):
-        if 'rally_affinity_group' in os.environ:
-            group_id = os.environ['rally_affinity_group']
-            kwargs['scheduler_hints'] = {'group': group_id}
-        return orig(self, *args, **kwargs)
-
-    VMTasks.boot_runcommand_delete = new_boot_runcommand_delete
-
-    try:
-        yield
-    finally:
-        VMTasks.boot_runcommand_delete = orig
-
-
-# should actually use mock module for this,
-# but don't wanna to add new dependency
-@contextlib.contextmanager
-def patch_VMScenario_run_command_over_ssh(test_obj,
-                                          barrier=None,
-                                          latest_start_time=None):
-
-    try:
-        orig = VMScenario.run_action
-    except AttributeError:
-        # rally code was changed
-        log("VMScenario class was changed and have no run_action"
-            " method anymore. Update patch code.")
-        raise exceptions.ScriptError("monkeypatch code fails on "
-                                     "VMScenario.run_action")
-
-    @functools.wraps(orig)
-    def closure(self, ssh, *args, **kwargs):
-
-        try:
-            ssh._client.open_sftp
-        except AttributeError:
-            # rally code was changed
-            log("Prototype of VMScenario.run_command_over_ssh "
-                "was changed. Update patch code.")
-            raise exceptions.ScriptError("monkeypatch code fails on "
-                                         "ssh._client.open_sftp()")
-
-        test_iter = itest.run_test_iter(test_obj, ssh._get_client())
-
-        next(test_iter)
-
-        log("Start io test")
-
-        wait_on_barrier(barrier, latest_start_time)
-
-        try:
-            code, out, err = next(test_iter)
-        except Exception as exc:
-            log("Rally raises exception {0}".format(exc.message))
-            raise
-
-        if 0 != code:
-            templ = "Script returns error! code={0}\n {1}"
-            log(templ.format(code, err.rstrip()))
-        else:
-            log("Test finished")
-
-            result = {"rally": 0}
-            out = json.dumps(result)
-
-        return code, out, err
-
-    VMScenario.run_action = closure
-
-    try:
-        yield
-    finally:
-        VMScenario.run_action = orig
-
-
-def prepare_files(files_dir):
-
-    # we do need temporary named files
-    with warnings.catch_warnings():
-        warnings.simplefilter("ignore")
-        yaml_file = os.tmpnam()
-
-    yaml_src_cont = open(os.path.join(files_dir, "io.yaml")).read()
-    task_params = yaml.load(yaml_src_cont)
-    rcd_params = task_params['VMTasks.boot_runcommand_delete']
-    rcd_params[0]['args']['script'] = os.path.join(files_dir, "io.py")
-    yaml_dst_cont = yaml.dump(task_params)
-
-    open(yaml_file, "w").write(yaml_dst_cont)
-
-    return yaml_file
-
-
-def run_tests_using_rally(obj,
-                          files_dir,
-                          max_preparation_time,
-                          rally_extra_opts,
-                          keep_temp_files):
-
-    yaml_file = prepare_files(files_dir)
-
-    try:
-        do_patch1 = patch_VMScenario_run_command_over_ssh
-        config = yaml.load(open(yaml_file).read())
-
-        vm_sec = 'VMTasks.boot_runcommand_delete'
-        concurrency = config[vm_sec][0]['runner']['concurrency']
-
-        barrier = get_barrier(concurrency)
-        max_release_time = time.time() + max_preparation_time
-
-        with patch_VMTasks_boot_runcommand_delete():
-            with do_patch1(obj, barrier, max_release_time):
-                opts = ['task', 'start', yaml_file] + list(rally_extra_opts)
-                log("Start rally with opts '{0}'".format(" ".join(opts)))
-                cliutils.run(['rally', "--rally-debug"] + opts, categories)
-    finally:
-        if not keep_temp_files:
-            os.unlink(yaml_file)
-
-
-def get_rally_runner(files_dir,
-                     max_preparation_time,
-                     rally_extra_opts,
-                     keep_temp_files):
-
-    def closure(obj):
-        result_queue = multiprocessing.Queue()
-        obj.set_result_cb(result_queue.put)
-
-        run_tests_using_rally(obj,
-                              files_dir,
-                              max_preparation_time,
-                              rally_extra_opts,
-                              keep_temp_files)
-
-        test_result = []
-        while not result_queue.empty():
-            test_result.append(result_queue.get())
-
-        return test_result
-    return closure
diff --git a/run_test.py b/run_test.py
index c6f1d81..f1800fd 100644
--- a/run_test.py
+++ b/run_test.py
@@ -22,12 +22,6 @@
 from formatters import get_formatter
 
 
-try:
-    import rally_runner
-except ImportError:
-    rally_runner = None
-
-
 logger = logging.getLogger("io-perf-tool")
 logger.setLevel(logging.DEBUG)
 ch = logging.StreamHandler()
@@ -173,9 +167,6 @@
 
     choices = ["local", "ssh"]
 
-    if rally_runner is not None:
-        choices.append("rally")
-
     parser.add_argument("--runner", required=True,
                         choices=choices, help="runner type")
 
@@ -281,26 +272,7 @@
 
     test_opts = get_opts(opts.opts_file, opts.opts)
 
-    if opts.runner == "rally":
-        logger.debug("Use rally runner")
-        for script_args in test_opts:
-
-            cmd_line = " ".join(script_args)
-            logger.debug("Run test with {0!r} params".format(cmd_line))
-
-            runner = rally_runner.get_rally_runner(
-                files_dir=os.path.dirname(io_scenario.__file__),
-                rally_extra_opts=opts.runner_opts.split(" "),
-                max_preparation_time=opts.max_preparation_time,
-                keep_temp_files=opts.keep_temp_files)
-
-            res = run_io_test(opts.tool_type,
-                              script_args,
-                              runner,
-                              opts.keep_temp_files)
-            logger.debug(format_result(res, get_formatter(opts.tool_type)))
-
-    elif opts.runner == "local":
+    if opts.runner == "local":
         logger.debug("Run on local computer")
         try:
             for script_args in test_opts: