if [ -f ${ROBOT_VENV}/bin/activate ]; then
     source ${ROBOT_VENV}/bin/activate
 else
-    rm -rf /tmp/ci-management
     rm -f ${WORKSPACE}/env.properties
-    cd /tmp
-    git clone "https://gerrit.onap.org/r/ci-management"
-    source /tmp/ci-management/jjb/integration/include-raw-integration-install-robotframework.sh
+    ROBOT_VENV=$(mktemp -d --suffix=robot_venv)
+    echo "ROBOT_VENV=${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
+
+    # The --system-site-packages parameter allows us to pick up system level
+    # installed packages. This allows us to bake matplotlib which takes very long
+    # to install into the image.
+    virtualenv --system-site-packages "${ROBOT_VENV}"
+    source "${ROBOT_VENV}/bin/activate"
+
+    set -exu
+
+    # Make sure pip itself us up-to-date.
+    pip install --upgrade pip
+    # To avoid a json issue related to specific versions related to https://gerrit.onap.org/r/c/ci-management/+/120747 
+    # in the ci-management repo, we are reverting to the orig versions.
+    pip install --upgrade --no-binary pycparser pycparser
+    pip install --upgrade pyOpenSSL==16.2.0 docker-py importlib requests scapy netifaces netaddr ipaddr simplejson demjson
+    pip install --upgrade robotframework{,-{httplibrary,requests,sshlibrary,selenium2library,xvfb}}
+
+    pip install xvfbwrapper
+    pip install PyVirtualDisplay
 fi
 
+# Print installed versions.
 pip freeze
 
 
 #
 
 function dmaap_dr_launch() {
+  COMPOSE_PREFIX=${COMPOSE_PROJECT_NAME:-dockercompose}
+  export COMPOSE_PROJECT_NAME=$COMPOSE_PREFIX
 
-    mkdir -p ${WORKSPACE}/archives/dmaap/last_run_logs
+  mkdir -p ${WORKSPACE}/archives/dmaap/last_run_logs
 
-    # start DMaaP DR containers with docker compose and configuration from docker-compose.yml
-    docker login -u docker -p docker nexus3.onap.org:10001
-    docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml up -d
+  # start DMaaP DR containers with docker compose and configuration from docker-compose.yml
+  docker login -u docker -p docker nexus3.onap.org:10001
+  docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml up -d
 
-    # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb
-    for i in 1 2 3 4 5 6 7 8 9 10; do
-        if [[ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ]] && \
-            [[ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ]] && \
-            [[ $(docker inspect --format '{{ .State.Running }}' mariadb) ]]
-        then
-            echo "DR Service Running"
-            break
-        else
-            echo sleep ${i}
-            sleep ${i}
-        fi
-    done
+  # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb
+  for i in 1 2 3 4 5 6 7 8 9 10; do
+      if [[ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ]] && \
+          [[ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ]] && \
+          [[ $(docker inspect --format '{{ .State.Running }}' mariadb) ]]
+      then
+          echo "DR Service Running"
+          break
+      else
+          echo sleep ${i}
+          sleep ${i}
+      fi
+  done
 
-    # Wait for healthy container datarouter-prov
-    for i in 1 2 3 4 5 6 7 8 9 10; do
-        if [[ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]]
-        then
-            echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
-            echo "DR Service Running, datarouter-prov container is healthy"
-            break
-        else
-            echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
-            echo sleep ${i}
-            sleep ${i}
-            if [[ ${i} = 10 ]]
-            then
-                echo datarouter-prov container is not in healthy state - the test is not made, teardown...
-                docker-compose rm -sf
-                exit 1
-            fi
-        fi
-    done
+  # Wait for healthy container datarouter-prov
+  for i in 1 2 3 4 5 6 7 8 9 10; do
+      if [[ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]]
+      then
+          echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
+          echo "DR Service Running, datarouter-prov container is healthy"
+          break
+      else
+          echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
+          echo sleep ${i}
+          sleep ${i}
+          if [[ ${i} = 10 ]]
+          then
+              echo datarouter-prov container is not in healthy state - the test is not made, teardown...
+              docker-compose rm -sf
+              exit 1
+          fi
+      fi
+  done
 
-    DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
-    DR_NODE_IP=`get-instance-ip.sh datarouter-node`
-    #DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov)
-    echo DR_PROV_IP=${DR_PROV_IP}
-    echo DR_NODE_IP=${DR_NODE_IP}
-    #echo DR_GATEWAY_IP=${DR_GATEWAY_IP}
-
-#    docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP"
-#    docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP"
-
-    #Pass any variables required by Robot test suites in ROBOT_VARIABLES
-    ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}"
+  DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
+  DR_NODE_IP=`get-instance-ip.sh datarouter-node`
+  echo DR_PROV_IP=${DR_PROV_IP}
+  echo DR_NODE_IP=${DR_NODE_IP}
+  #Pass any variables required by Robot test suites in ROBOT_VARIABLES
+  ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}"
 }
\ No newline at end of file
 
     <skip.docker.push>false</skip.docker.push>
     <docker.verbose>true</docker.verbose>
     <docker.apiVersion>2.2.54</docker.apiVersion>
+    <io.fabric8.version>0.28.0</io.fabric8.version>
+    <gmaven-plugin.version>1.5</gmaven-plugin.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
     <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
           <artifactId>docker-maven-plugin</artifactId>
           <version>${io.fabric8.version}</version>
           <configuration>
-            <skipBuild>${docker.skip.build}</skipBuild>
+            <skipBuild>${skip.docker.build}</skipBuild>
             <verbose>${docker.verbose}</verbose>
             <apiVersion>${docker.apiVersion}</apiVersion>
             <pullRegistry>${docker.pull.registry}</pullRegistry>