Use shell to execute commands inside docker container as a buggy docker-py client exec_start api sometimes hangs.
Also fix the test container scapy and scapy-ssl_tls versions

Change-Id: I2cc3a22f8d4143253caaa2f26ab5c27afd365c41
diff --git a/src/test/setup/cord-test.py b/src/test/setup/cord-test.py
index 6ced05b..0143715 100755
--- a/src/test/setup/cord-test.py
+++ b/src/test/setup/cord-test.py
@@ -95,7 +95,7 @@
             self.start(rm = False, volumes = volumes, environment = env,
                        host_config = host_config, tty = True)
 
-    def execute_switch(self, cmd, shell = False):
+    def execute_switch(self, cmd, shell = True):
         if self.olt:
             return os.system(cmd)
         return self.execute(cmd, shell = shell)
@@ -243,7 +243,7 @@
  cd openvswitch-{} && \
  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-ssl && make && make install)
 RUN service openvswitch-switch restart || /bin/true
-RUN pip install -U scapy scapy-ssl_tls monotonic configObj docker-py pyyaml nsenter pyroute2 netaddr python-daemon
+RUN pip install scapy==2.3.2 scapy-ssl_tls==1.2.2 monotonic configObj docker-py pyyaml nsenter pyroute2 netaddr python-daemon
 RUN mv /usr/sbin/tcpdump /sbin/
 RUN ln -sf /sbin/tcpdump /usr/sbin/tcpdump
 RUN mv /usr/sbin/dhcpd /sbin/
diff --git a/src/test/utils/CordContainer.py b/src/test/utils/CordContainer.py
index 81addcb..95cc477 100644
--- a/src/test/utils/CordContainer.py
+++ b/src/test/utils/CordContainer.py
@@ -180,7 +180,7 @@
                     ip.link('set', index=guest, state='up')
                 index += 1
 
-    def execute(self, cmd, tty = True, stream = False, shell = False):
+    def execute(self, cmd, tty = True, stream = False, shell = True):
         res = 0
         if type(cmd) == str:
             cmds = (cmd,)