Add CSITs for vCPE, vDNS, and vFW policies

Runs xacml and drools, but does not currently run api or pap.
PAP actions are simulated by injecting messages onto the dmaap
topic read by xacml-pdp and drools-pdp.
All other systems (e.g., dmaap, aai) are simulated using
policy-models-simulators.

Issue-ID: POLICY-2491
Change-Id: Ic05e3a6514e84040f5a965aa8d2cac9ed2e9abc2
Signed-off-by: Jim Hahn <jrh3@att.com>
diff --git a/plans/policy/drools-applications/setup.sh b/plans/policy/drools-applications/setup.sh
index c66c492..99b0015 100755
--- a/plans/policy/drools-applications/setup.sh
+++ b/plans/policy/drools-applications/setup.sh
@@ -1,7 +1,8 @@
 #!/bin/bash
-# ============LICENSE_START=======================================================
+#
+# ===========LICENSE_START====================================================
 #  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.
 # You may obtain a copy of the License at
@@ -13,9 +14,8 @@
 # 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.
+# ============LICENSE_END=====================================================
 #
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
 
 # OS upgrades
 
@@ -24,41 +24,57 @@
 echo ${GERRIT_BRANCH}
 echo ${POLICY_MARIADB_VER}
 
+SCR2=${WORKSPACE}/scripts/policy/drools-apps
+
 echo "Uninstall docker-py and reinstall docker."
 pip uninstall -y docker-py
 pip uninstall -y docker
 pip install -U docker==2.7.0
 
 sudo apt-get -y install libxml2-utils
+${SCRIPTS}/policy/policy-models-simulators.sh
+
+POLICY_XACML_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_XACML_PDP_VERSION="${POLICY_XACML_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
 POLICY_DROOLS_APPS_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()' -)"
 echo ${POLICY_DROOLS_APPS_VERSION_EXTRACT}
 export POLICY_DROOLS_APPS_VERSION="${POLICY_DROOLS_APPS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+
+echo ${POLICY_XACML_PDP_VERSION}
 echo ${POLICY_DROOLS_APPS_VERSION}
 
 echo "user information: $(id)"
 echo "docker and docker-compose versions:"
 docker -v && docker-compose -v
 
-docker container ls -a
+# Adding this waiting container due to race condition between drools and mariadb
+docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_dependencies
 
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml up -d
-sleep 2m
+# now bring everything else up
+docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_all
 
-docker container ls -a
+unset http_proxy https_proxy
 
-POLICY_DROOLS_IP=`get-instance-ip.sh drools`
-MARIADB_IP=`get-instance-ip.sh mariadb`
+DROOLS_IP=`get-instance-ip.sh drools`
+XACML_IP=`get-instance-ip.sh policy-xacml-pdp`
+SIM_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org`
+export SIM_IP
 
-echo DROOLS IP IS ${POLICY_DROOLS_IP}
-echo MARIADB IP IS ${MARIADB_IP}
+echo DROOLS IP IS ${DROOLS_IP}
+echo XACML IP IS ${XACML_IP}
+echo SIMULATORS IP IS ${SIM_IP}
 
-for i in {1..10}; do
-   curl -sS ${POLICY_DROOLS_IP}:6969 && break
-   echo sleep $i
-   sleep $i
-done
+# activate xacml
+${SCR2}/manage.sh ${SCR2}/activate.xacml.json
 
-# to give enough time to the usecases controller to come up
-sleep 2m
+# give enough time for the controllers to come up
+sleep 15
 
-ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}"
+# wait for xacml to activate
+${SCRIPTS}/policy/wait_for_port.sh ${XACML_IP} 6969
+
+ROBOT_VARIABLES=""
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCR2:${SCR2}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DROOLS_IP:${DROOLS_IP}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v XACML_IP:${XACML_IP}"
+ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SIM_IP:${SIM_IP}"
diff --git a/plans/policy/drools-applications/teardown.sh b/plans/policy/drools-applications/teardown.sh
index 886b1ea..8b577d8 100755
--- a/plans/policy/drools-applications/teardown.sh
+++ b/plans/policy/drools-applications/teardown.sh
@@ -1,21 +1,23 @@
 #!/bin/bash
 #
-# Copyright 2020 AT&T Intellectual Property. All rights reserved.
-#
+# ===========LICENSE_START====================================================
+#  Copyright (C) 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
 #
-#     http://www.apache.org/licenses/LICENSE-2.0
+#      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.
+# ============LICENSE_END=====================================================
 #
 
 mkdir -p $WORKSPACE/archives/
+docker-compose -f ${WORKSPACE}/scripts/policy/drools-apps/docker-compose-drools-apps.yml logs > $WORKSPACE/archives/docker-compose-drools-apps.log
 
-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
+docker-compose -f ${WORKSPACE}/scripts/policy/drools-apps/docker-compose-drools-apps.yml down -v