aboutsummaryrefslogtreecommitdiffstats
path: root/test/ete/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'test/ete/scripts')
-rwxr-xr-xtest/ete/scripts/deploy-onap.sh86
-rwxr-xr-xtest/ete/scripts/get-floating-ip.sh6
-rwxr-xr-xtest/ete/scripts/install_openstack_cli.sh47
-rwxr-xr-xtest/ete/scripts/remote/run-robot.sh20
-rwxr-xr-xtest/ete/scripts/run-healthcheck.sh26
5 files changed, 147 insertions, 38 deletions
diff --git a/test/ete/scripts/deploy-onap.sh b/test/ete/scripts/deploy-onap.sh
index 3c69e15e8..4802e02ce 100755
--- a/test/ete/scripts/deploy-onap.sh
+++ b/test/ete/scripts/deploy-onap.sh
@@ -1,53 +1,63 @@
-#!/bin/bash
-
-if [ -z "$OS_AUTH_URL" ] || [ -z "$OS_USERNAME" ]
-then
- echo "ERROR: OpenStack environment variables not set. Please source your OpenStack RC script first."
- exit 1
-fi
-
+#!/bin/bash -x
if [ -z "$WORKSPACE" ]; then
export WORKSPACE=`git rev-parse --show-toplevel`
fi
+source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
+# Delete all existing stacks
+STACKS=$(openstack stack list -c "Stack Name" -f value)
-# Assume that if ROBOT_VENV is set, we don't need to reinstall robot
-if [ -f ${WORKSPACE}/env.properties ]; then
- source ${WORKSPACE}/env.properties
-fi
-
-if [ ! -z "$ONAP_VENV" ] && [ -f "$ONAP_VENV/bin/activate" ]; then
- source ${ONAP_VENV}/bin/activate
+if [ ! -z "${STACKS}" ]; then
+ echo "Deleting Stacks ${STACKS}"
+ openstack stack delete -y $STACKS
+ for STACK in ${STACKS}; do
+ until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
+ sleep 30
+ done
+ done
else
- ONAP_VENV=$(mktemp -d --suffix=_onap_venv)
- virtualenv ${ONAP_VENV}
- source ${ONAP_VENV}/bin/activate
-
- pip install --upgrade pip
- pip install --upgrade python-openstackclient python-heatclient
-
- echo "ONAP_VENV=${ONAP_VENV}" >> $WORKSPACE/env.properties
+ echo "No existing stacks to delete."
fi
-echo "ONAP_VENV=${ONAP_VENV}"
-if [ -z "$ONAP_WORKDIR" ]; then
- ONAP_WORKDIR=$(mktemp -d --suffix=_onap_workdir)
- echo "ONAP_WORKDIR=${ONAP_WORKDIR}" >> $WORKSPACE/env.properties
-fi
-echo "ONAP_WORKDIR=${ONAP_WORKDIR}"
-if [ ! -d ${ONAP_WORKDIR}/demo ]; then
- git clone http://gerrit.onap.org/r/demo ${ONAP_WORKDIR}/demo
-else
- pushd ${ONAP_WORKDIR}/demo
- git pull
- popd
-fi
STACK="ete-$(uuidgen | cut -c-8)"
-echo "Stack Name: ${STACK}"
-openstack stack create -t ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml -e ${WORKSPACE}/test/ete/labs/windriver/onap.env $STACK
+echo "New Stack Name: ${STACK}"
+
+
+cp ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.env ${WORKSPACE}/test/ete/labs/windriver/onap-openstack-demo.env
+envsubst < ${WORKSPACE}/test/ete/labs/windriver/onap-openstack-template.env > ${WORKSPACE}/test/ete/labs/windriver/onap-openstack.env
+#diff ${WORKSPACE}/test/ete/labs/windriver/onap-openstack-template.env ${WORKSPACE}/test/ete/labs/windriver/onap-openstack.env
+
+openstack stack create -t ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml -e ${WORKSPACE}/test/ete/labs/windriver/onap-openstack.env $STACK
+
+while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value $STACK)" ]; do
+ sleep 15
+done
+
+STATUS=$(openstack stack show -c stack_status -f value $STACK)
+echo $STATUS
+if [ "CREATE_COMPLETE" != "$STATUS" ]; then
+ exit 1
+fi
+
+
+# wait until Robot VM initializes
+ROBOT_IP=$($WORKSPACE/test/ete/scripts/get-floating-ip.sh onap-robot)
+echo "ROBOT_IP=${ROBOT_IP}"
+
+if [ "" == "${ROBOT_IP}" ]; then
+ exit 1
+fi
+
+ssh-keygen -R ${ROBOT_IP}
+
+SSH_KEY=~/.ssh/onap_key
+until ssh -o StrictHostKeychecking=no -i ${SSH_KEY} root@${ROBOT_IP} "docker ps | grep -q openecompete_container"
+do
+ sleep 1m
+done
diff --git a/test/ete/scripts/get-floating-ip.sh b/test/ete/scripts/get-floating-ip.sh
new file mode 100755
index 000000000..55854e73f
--- /dev/null
+++ b/test/ete/scripts/get-floating-ip.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+# Get floating IP assigned to a server name
+
+PORT_ID=$(openstack server show -f json $1 | python -c 'import sys, json; print json.load(sys.stdin)["wrs-if:nics"][0]["nic1"]["port_id"]')
+FLOATING_IP=$(openstack floating ip list -f json --port $PORT_ID | python -c 'import sys, json; print json.load(sys.stdin)[0]["Floating IP Address"]')
+echo $FLOATING_IP
diff --git a/test/ete/scripts/install_openstack_cli.sh b/test/ete/scripts/install_openstack_cli.sh
new file mode 100755
index 000000000..a6a0438f9
--- /dev/null
+++ b/test/ete/scripts/install_openstack_cli.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+if [ -z "$OS_AUTH_URL" ] || [ -z "$OS_USERNAME" ]
+then
+ echo "ERROR: OpenStack environment variables not set. Please source your OpenStack RC script first."
+ exit 1
+fi
+
+
+if [ -z "$WORKSPACE" ]; then
+ export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+
+
+# Assume that if ROBOT_VENV is set, we don't need to reinstall robot
+if [ -f ${WORKSPACE}/env.properties ]; then
+ source ${WORKSPACE}/env.properties
+fi
+
+if [ ! -z "$ONAP_VENV" ] && [ -f "$ONAP_VENV/bin/activate" ]; then
+ source ${ONAP_VENV}/bin/activate
+else
+ ONAP_VENV=$(mktemp -d --suffix=_onap_venv)
+ virtualenv ${ONAP_VENV}
+ source ${ONAP_VENV}/bin/activate
+
+ pip install --upgrade pip
+ pip install --upgrade python-openstackclient python-heatclient
+
+ echo "ONAP_VENV=${ONAP_VENV}" >> $WORKSPACE/env.properties
+fi
+echo "ONAP_VENV=${ONAP_VENV}"
+
+if [ -z "$ONAP_WORKDIR" ]; then
+ ONAP_WORKDIR=$(mktemp -d --suffix=_onap_workdir)
+ echo "ONAP_WORKDIR=${ONAP_WORKDIR}" >> $WORKSPACE/env.properties
+fi
+echo "ONAP_WORKDIR=${ONAP_WORKDIR}"
+if [ ! -d ${ONAP_WORKDIR}/demo ]; then
+ git clone https://gerrit.onap.org/r/demo ${ONAP_WORKDIR}/demo
+else
+ pushd ${ONAP_WORKDIR}/demo
+ git pull
+ popd
+fi
+
diff --git a/test/ete/scripts/remote/run-robot.sh b/test/ete/scripts/remote/run-robot.sh
new file mode 100755
index 000000000..162acbe24
--- /dev/null
+++ b/test/ete/scripts/remote/run-robot.sh
@@ -0,0 +1,20 @@
+#!/bin/bash -x
+
+cd /opt
+
+docker ps | grep -q openecompete_container
+if [ ! $? -eq 0 ]; then
+ echo "Robot not initialized"
+ exit 2
+fi
+
+if [ ! -d eteshare/logs/demo ]; then
+ echo $OS_PROJECT_ID > /opt/config/openstack_tenant_id.txt
+ echo $OS_USERNAME > /opt/config/openstack_username.txt
+ echo $OS_PASSWORD > /opt/config/openstack_password.txt
+ /bin/bash /opt/eteshare/config/vm_config2robot.sh
+ # set robot VM http server password
+ echo "admin" | /opt/demo.sh init_robot
+fi
+
+/opt/ete.sh health
diff --git a/test/ete/scripts/run-healthcheck.sh b/test/ete/scripts/run-healthcheck.sh
new file mode 100755
index 000000000..2f0f014d3
--- /dev/null
+++ b/test/ete/scripts/run-healthcheck.sh
@@ -0,0 +1,26 @@
+#!/bin/bash -x
+
+SSH_KEY=~/.ssh/onap_key
+
+if [ -z "$WORKSPACE" ]; then
+ export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
+
+cd $WORKSPACE/test/ete/scripts
+
+ROBOT_IP=$(./get-floating-ip.sh onap-robot)
+echo "ROBOT_IP=${ROBOT_IP}"
+
+if [ "" == "${ROBOT_IP}" ]; then
+ exit 1
+fi
+
+ssh-keygen -R ${ROBOT_IP}
+
+ssh -o StrictHostKeychecking=no -i ${SSH_KEY} root@${ROBOT_IP} "OS_PROJECT_ID=$OS_PROJECT_ID OS_USERNAME=$OS_USERNAME OS_PASSWORD=$OS_PASSWORD bash -s" < ./remote/run-robot.sh
+
+LOG_DIR=$(ssh -o StrictHostKeychecking=no -i ${SSH_KEY} root@${ROBOT_IP} "ls -1t /opt/eteshare/logs | head -1")
+echo "Browse Robot results at http://${ROBOT_IP}:88/logs/${LOG_DIR}/"
+rsync -e "ssh -i ${SSH_KEY}" -avPz root@${ROBOT_IP}:/opt/eteshare/logs/${LOG_DIR}/ $WORKSPACE/archives/