diff --git a/plans/policy/drools-applications/setup.sh b/plans/policy/drools-applications/setup.sh
index e550cdb..c66c492 100755
--- a/plans/policy/drools-applications/setup.sh
+++ b/plans/policy/drools-applications/setup.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
-#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,6 +16,9 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
+
+# OS upgrades
+
 source ${SCRIPTS}/policy/config/policy-csit.conf
 export POLICY_MARIADB_VER
 echo ${GERRIT_BRANCH}
@@ -32,18 +35,15 @@
 export POLICY_DROOLS_APPS_VERSION="${POLICY_DROOLS_APPS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
 echo ${POLICY_DROOLS_APPS_VERSION}
 
-docker login -u docker -p docker nexus3.onap.org:10001
+echo "user information: $(id)"
+echo "docker and docker-compose versions:"
+docker -v && docker-compose -v
 
-# Adding this waiting container to avoid race condition between api and mariadb containers.
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml run --rm start_dependencies
-docker logs mariadb
 docker container ls -a
 
 docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml up -d
-sleep 1m
+sleep 2m
 
-docker logs mariadb
-docker logs drools
 docker container ls -a
 
 POLICY_DROOLS_IP=`get-instance-ip.sh drools`
@@ -52,17 +52,13 @@
 echo DROOLS IP IS ${POLICY_DROOLS_IP}
 echo MARIADB IP IS ${MARIADB_IP}
 
-# Wait for initialization
-for i in {1..10}; do
-   curl -sS ${MARIADB_IP}:3306 && break
-   echo sleep $i
-   sleep $i
-done
-
 for i in {1..10}; do
    curl -sS ${POLICY_DROOLS_IP}:6969 && break
    echo sleep $i
    sleep $i
 done
 
+# to give enough time to the usecases controller to come up
+sleep 2m
+
 ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}"
diff --git a/plans/policy/drools-applications/teardown.sh b/plans/policy/drools-applications/teardown.sh
index 48ab171..886b1ea 100755
--- a/plans/policy/drools-applications/teardown.sh
+++ b/plans/policy/drools-applications/teardown.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright 2019 AT&T Intellectual Property. All rights reserved.
+# Copyright 2020 AT&T Intellectual Property. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,5 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-kill-instance.sh drools
-kill-instance.sh mariadb
+
+mkdir -p $WORKSPACE/archives/
+
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml logs > $WORKSPACE/archives/docker-compose-drools-apps.log
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml down -v
diff --git a/plans/policy/drools-pdp/setup.sh b/plans/policy/drools-pdp/setup.sh
index 4851cd7..d50106f 100755
--- a/plans/policy/drools-pdp/setup.sh
+++ b/plans/policy/drools-pdp/setup.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
-#
-# Copyright 2017 AT&T Intellectual Property. All rights reserved.
-#
+# ============LICENSE_START=======================================================
+# Copyright 2017-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -14,21 +14,47 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Place the scripts in run order:
-source ${SCRIPTS}/common_functions.sh
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
 
-docker login -u docker -p docker nexus3.onap.org:10001
-docker pull nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0
-docker tag nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 onap/policy-common-alpine:1.4.0
+# OS upgrades
 
-source ${WORKSPACE}/scripts/policy/drools-pdp-script.sh
+echo "Uninstall docker-py and reinstall docker."
+pip uninstall -y docker-py
+pip uninstall -y docker
+pip install -U docker==2.7.0
 
-# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v IP:${IP} -v POLICY_IP:${POLICY_IP} -v PDP_IP:${PDP_IP} -v DOCKER_IP:${DOCKER_IP}" 
-export PDP_IP=${PDP_IP}
-export POLICY_IP=${POLICY_IP}
-export DOCKER_IP=${DOCKER_IP}
+echo "user information: $(id)"
+echo "docker information:"
+docker -v && docker-compose -v && docker info
 
-#Get current IP of VM
-HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
-export HOST_IP=${HOST_IP}
+# Component Versions
+
+source ${SCRIPTS}/policy/config/policy-csit.conf
+export POLICY_MARIADB_VER
+echo ${GERRIT_BRANCH}
+echo ${POLICY_MARIADB_VER}
+
+sudo apt-get -y install libxml2-utils
+POLICY_DROOLS_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_DROOLS_VERSION="${POLICY_DROOLS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+echo ${POLICY_DROOLS_VERSION}
+
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml up -d
+sleep 2m
+
+docker container ls -a
+
+POLICY_DROOLS_IP=`get-instance-ip.sh drools`
+MARIADB_IP=`get-instance-ip.sh mariadb`
+
+echo DROOLS IP IS ${POLICY_DROOLS_IP}
+echo MARIADB IP IS ${MARIADB_IP}
+
+for i in {1..10}; do
+   curl -sS ${POLICY_DROOLS_IP}:9696 && break
+   echo sleep $i
+   sleep $i
+done
+
+ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}"
diff --git a/plans/policy/drools-pdp/teardown.sh b/plans/policy/drools-pdp/teardown.sh
index 303ccff..e08593d 100755
--- a/plans/policy/drools-pdp/teardown.sh
+++ b/plans/policy/drools-pdp/teardown.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright 2017-2020 AT&T Intellectual Property. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,21 +15,6 @@
 # limitations under the License.
 #
 
-function kill_instance() {
-local name=$1
-docker logs "${name}" >> "${WORKSPACE}"/archives/"${name}".log
-docker kill "${name}"
-docker rm -v "${name}"
-}
-
-mkdir -p "${WORKSPACE}"/archives
-
-kill_instance drools
-kill_instance pdp
-kill_instance brmsgw
-kill_instance pap
-kill_instance nexus
-kill_instance mariadb
-
-rm -fr "${WORK_DIR}"
-
+mkdir -p $WORKSPACE/archives/
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml logs > $WORKSPACE/archives/docker-compose-drools.log
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml down -v
diff --git a/plans/policy/health/setup.sh b/plans/policy/health/setup.sh
deleted file mode 100755
index 1b1155d..0000000
--- a/plans/policy/health/setup.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2017, 2019 AT&T Intellectual Property. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Place the scripts in run order:
-source ${SCRIPTS}/common_functions.sh
-
-docker login -u docker -p docker nexus3.onap.org:10001
-docker pull nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0
-docker tag nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 onap/policy-common-alpine:1.4.0
-
-source ${WORKSPACE}/scripts/policy/engine.sh
-
-# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v IP:${IP} -v POLICY_IP:${POLICY_IP} -v PDP_IP:${PDP_IP} -v DOCKER_IP:${DOCKER_IP}" 
-export PDP_IP=${PDP_IP}
-export POLICY_IP=${POLICY_IP}
-export DOCKER_IP=${DOCKER_IP}
-
-#Get current IP of VM
-HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
-export HOST_IP=${HOST_IP}
diff --git a/plans/policy/health/teardown.sh b/plans/policy/health/teardown.sh
deleted file mode 100755
index 303ccff..0000000
--- a/plans/policy/health/teardown.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2017 AT&T Intellectual Property. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-function kill_instance() {
-local name=$1
-docker logs "${name}" >> "${WORKSPACE}"/archives/"${name}".log
-docker kill "${name}"
-docker rm -v "${name}"
-}
-
-mkdir -p "${WORKSPACE}"/archives
-
-kill_instance drools
-kill_instance pdp
-kill_instance brmsgw
-kill_instance pap
-kill_instance nexus
-kill_instance mariadb
-
-rm -fr "${WORK_DIR}"
-
diff --git a/plans/policy/health/testplan.txt b/plans/policy/health/testplan.txt
deleted file mode 100644
index 6bad34f..0000000
--- a/plans/policy/health/testplan.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Test suites are relative paths under [integration/csit.git]/tests/.
-# Place the suites in run order.
-policy/engine
