Use docker exec_start api with raw socket = True to avoid hangs while executing a command waiting for result.
Also remove the requirement for a specific docker-py version.

Change-Id: Ia89a425724327db0532d4e6168ed4ed924c4969e
diff --git a/src/test/setup/requirements.txt b/src/test/setup/requirements.txt
index 490bd61..514cc17 100644
--- a/src/test/setup/requirements.txt
+++ b/src/test/setup/requirements.txt
@@ -2,7 +2,7 @@
 scapy==2.3.2
 monotonic
 configObj
-docker-py==1.9.0
+docker-py
 pyyaml
 nsenter
 pyroute2
diff --git a/src/test/utils/CordContainer.py b/src/test/utils/CordContainer.py
index 6ab5363..b8a4ec0 100644
--- a/src/test/utils/CordContainer.py
+++ b/src/test/utils/CordContainer.py
@@ -244,7 +244,10 @@
             return res
         for c in cmds:
             i = self.dckr.exec_create(container=self.name, cmd=c, tty = tty, privileged = True)
-            self.dckr.exec_start(i['Id'], stream = stream, detach=detach)
+            s = self.dckr.exec_start(i['Id'], stream = stream, detach=detach, socket=True)
+            try:
+                s.close()
+            except: pass
             result = self.dckr.exec_inspect(i['Id'])
             res += 0 if result['ExitCode'] == None else result['ExitCode']
         return res