cd ${WORKSPACE}/test/csit/tests/dcaegen2/prh-testcases/resources/
 
 docker login -u docker -p docker nexus3.onap.org:10001
+pip uninstall -y docker-py
+pip uninstall -y docker
+pip install -U docker
 docker-compose up -d --build
 
 # Wait for initialization of Docker containers
 echo DMAAP_SIMULATOR_IP=${DMAAP_SIMULATOR_IP}
 echo AAI_SIMULATOR_IP=${AAI_SIMULATOR_IP}
 
-# Wait for initialization of docker services
+# Wait for initialization of PRH services
 for i in {1..10}; do
     curl -sS -m 1 localhost:8100/heartbeat && break
     echo sleep ${i}
 
 # #Pass any variables required by Robot test suites in ROBOT_VARIABLES
 ROBOT_VARIABLES="-v DMAAP_SIMULATOR:${DMAAP_SIMULATOR_IP}:2222 -v AAI_SIMULATOR:${AAI_SIMULATOR_IP}:3333 -v PRH:${PRH_IP}:8100"
-
-pip install docker==2.7.0
 
     build:
       context: simulator
       dockerfile: DMaaP_simulator
-      args:
-        - https_proxy=${HTTPS_PROXY}
     ports:
       - "2222:2222"
     container_name: dmaap_simulator
      build:
        context: simulator
        dockerfile: AAI_simulator
-       args:
-         - https_proxy=${HTTPS_PROXY}
      ports:
       - "3333:3333"
      container_name: aai_simulator
 
-import BaseHTTPServer
+from http.server import BaseHTTPRequestHandler
+from http.server import HTTPServer
 import re
 import sys
 
 pnfs = 'Empty'
 
 
-class AAIHandler(BaseHTTPServer.BaseHTTPRequestHandler):
+class AAIHandler(BaseHTTPRequestHandler):
     def do_PUT(self):
         if re.search('/set_pnfs', self.path):
             global pnfs
         return
 
     def do_PATCH(self):
-        pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnfs
+        pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnfs.decode()
         if re.search('wrong_aai_record', self.path):
             self.send_response(400)
             self.end_headers()
     self.end_headers()
 
 
-def _main_(handler_class=AAIHandler, server_class=BaseHTTPServer.HTTPServer, protocol="HTTP/1.0"):
+def _main_(handler_class=AAIHandler, server_class=HTTPServer, protocol="HTTP/1.0"):
 
     if sys.argv[1:]:
         port = int(sys.argv[1])
     httpd = server_class(server_address, handler_class)
 
     sa = httpd.socket.getsockname()
-    print "Serving HTTP on", sa[0], "port", sa[1], "..."
+    print("Serving HTTP on", sa[0], "port", sa[1], "...")
     httpd.serve_forever()
 
 
 
-FROM python:2
+FROM python:3
 
 ADD AAI.py /
 
-RUN pip install robotframework
-
 EXPOSE 3333
 
 CMD [ "python", "./AAI.py" ]
 
-import BaseHTTPServer
+from http.server import BaseHTTPRequestHandler
+from http.server import HTTPServer
 import re
 import sys
 
-posted_event_from_prh = 'Empty'
+posted_event_from_prh = b'Empty'
 received_event_to_get_method = 'Empty'
 
 
-class DMaaPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
+class DMaaPHandler(BaseHTTPRequestHandler):
     def do_PUT(self):
         if re.search('/set_get_event', self.path):
             global received_event_to_get_method
         if re.search('/events/unauthenticated.SEC_OTHER_OUTPUT/OpenDcae-c12/c12', self.path):
             _header_200_and_json(self)
             self.wfile.write(received_event_to_get_method)
-            self.wfile.close()
         elif re.search('/events/pnfReady', self.path):
             _header_200_and_json(self)
             self.wfile.write(posted_event_from_prh)
-            self.wfile.close()
 
         return
 
     self.end_headers()
 
 
-def _main_(handler_class=DMaaPHandler, server_class=BaseHTTPServer.HTTPServer, protocol="HTTP/1.0"):
+def _main_(handler_class=DMaaPHandler, server_class=HTTPServer, protocol="HTTP/1.0"):
 
     if sys.argv[1:]:
         port = int(sys.argv[1])
     httpd = server_class(server_address, handler_class)
 
     sa = httpd.socket.getsockname()
-    print "Serving HTTP on", sa[0], "port", sa[1], "..."
+    print("Serving HTTP on", sa[0], "port", sa[1], "...")
     httpd.serve_forever()
 
 
 
-FROM python:2
+FROM python:3
 
 ADD DMaaP.py /
 
-RUN pip install robotframework
-
 EXPOSE 2222
 
 CMD [ "python", "./DMaaP.py" ]