diff --git a/src/test/setup/cord-test.py b/src/test/setup/cord-test.py
index ef516f3..08eb528 100755
--- a/src/test/setup/cord-test.py
+++ b/src/test/setup/cord-test.py
@@ -109,13 +109,14 @@
         egress_map = { 'ether': '00:00:00:00:00:03', 'ip': '192.168.30.1' }
         ingress_map = { 'ether': '00:00:00:00:00:04', 'ip': '192.168.40.1' }
         device_id = 'of:{}'.format(get_mac(switch))
+        ctlr = self.ctlr_ip.split(',')[0]
         flow = OnosFlowCtrl(deviceId = device_id,
                             egressPort = egress,
                             ingressPort = ingress,
                             ethType = '0x800',
                             ipSrc = ('IPV4_SRC', ingress_map['ip']+'/32'),
                             ipDst = ('IPV4_DST', egress_map['ip']+'/32'),
-                            controller = self.ctlr_ip
+                            controller = ctlr
                             )
         result = flow.addFlow()
         if result != True:
@@ -136,7 +137,8 @@
         if not self.olt:
             return False
         device_id = 'of:{}'.format(get_mac(switch))
-        devices = OnosCtrl.get_devices(controller = self.ctlr_ip)
+        ctlr = self.ctlr_ip.split(',')[0]
+        devices = OnosCtrl.get_devices(controller = ctlr)
         if devices:
             device = filter(lambda d: d['id'] == device_id, devices)
             return True
@@ -448,6 +450,8 @@
     service_profile = test_manifest.service_profile
     synchronizer = test_manifest.synchronizer
     onos_cord = None
+    Onos.update_data_dir(test_manifest.karaf_version)
+
     if onos_cord_loc:
         if onos_cord_loc.find(os.path.sep) < 0:
             onos_cord_loc = os.path.join(os.getenv('HOME'), onos_cord_loc)
@@ -582,7 +586,8 @@
                      'LOG_LEVEL': test_manifest.log_level,
                      'MANIFEST': int(use_manifest),
                      'HEAD_NODE': head_node if head_node else CORD_TEST_HOST,
-                     'MAAS_API_KEY': maas_api_key
+                     'MAAS_API_KEY': maas_api_key,
+                     'KARAF_VERSION' : test_manifest.karaf_version
                    }
 
     if ssh_key_file:
@@ -708,6 +713,8 @@
     synchronizer = test_manifest.synchronizer
     onos_cord = None
     onos_cord_loc = test_manifest.onos_cord
+    Onos.update_data_dir(test_manifest.karaf_version)
+
     if onos_cord_loc:
         if onos_cord_loc.find(os.path.sep) < 0:
             onos_cord_loc = os.path.join(os.getenv('HOME'), onos_cord_loc)
@@ -842,7 +849,8 @@
                          'LOG_LEVEL': test_manifest.log_level,
                          'MANIFEST': int(use_manifest),
                          'HEAD_NODE': head_node if head_node else CORD_TEST_HOST,
-                         'MAAS_API_KEY': maas_api_key
+                         'MAAS_API_KEY': maas_api_key,
+                         'KARAF_VERSION' : test_manifest.karaf_version
                        }
 
         if ssh_key_file:
@@ -1145,6 +1153,7 @@
     parser_run.add_argument('-synchronizer', '--synchronizer', default='', type=str,
                             help='Specify the synchronizer to use for ONOS cord instance when running on podd.'
                             'Eg: vtn,fabric,cord')
+    parser_run.add_argument('-karaf', '--karaf', default='3.0.5', type=str, help='Karaf version for ONOS')
     parser_run.set_defaults(func=runTest)
 
     parser_setup = subparser.add_parser('setup', help='Setup cord tester environment')
@@ -1186,6 +1195,7 @@
     parser_setup.add_argument('-f', '--foreground', action='store_true', help='Run in foreground')
     parser_setup.add_argument('-jvm-heap-size', '--jvm-heap-size', default='', type=str, help='ONOS JVM heap size')
     parser_setup.add_argument('-network', '--network', default='', type=str, help='Docker network to attach')
+    parser_setup.add_argument('-karaf', '--karaf', default='3.0.5', type=str, help='Karaf version for ONOS')
     parser_setup.set_defaults(func=setupCordTester)
 
     parser_xos = subparser.add_parser('xos', help='Building xos into cord tester environment')
diff --git a/src/test/setup/manifest.json b/src/test/setup/manifest.json
index 862662d..d9bb2e4 100644
--- a/src/test/setup/manifest.json
+++ b/src/test/setup/manifest.json
@@ -4,5 +4,6 @@
     "start_switch": true,
     "onos_image": "onosproject/onos:latest",
     "log_level" : "INFO",
-    "jvm_heap_size" : "1G"
+    "jvm_heap_size" : "1G",
+    "karaf_version" : "3.0.5"
 }
diff --git a/src/test/setup/prerequisites.sh b/src/test/setup/prerequisites.sh
index 6a8a0c1..8a3c06d 100755
--- a/src/test/setup/prerequisites.sh
+++ b/src/test/setup/prerequisites.sh
@@ -19,6 +19,7 @@
     echo "Installing Docker"
     apt-get -y install docker-engine
     service docker restart
+    sleep 5
     echo "Verifying Docker installation"
     docker run --rm hello-world || exit 127
     docker rmi hello-world
