blob: 571b380d1dfbd0117171e46f9f0218fb74a71bcf [file] [log] [blame]
#!/bin/bash -x
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <lab-name>"
exit 1
fi
if [ -z "$WORKSPACE" ]; then
export WORKSPACE=`git rev-parse --show-toplevel`
fi
LAB_DIR=${WORKSPACE}/test/ete/labs/$1
if [ ! -d "$LAB_DIR" ]; then
echo "Directory $LAB_DIR not found"
exit 2
fi
source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
SENTINEL='Docker versions and branches'
YAML_FILE=${LAB_DIR}/onap_openstack.yaml
ENV_FILE=${LAB_DIR}/onap-openstack.env
# copy heat template to WORKSPACE
cp ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml ${YAML_FILE}
# generate final env file
pushd ${ONAP_WORKDIR}/demo
cp ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.env ${LAB_DIR}/onap-openstack-demo.env
envsubst < ${LAB_DIR}/onap-openstack-template.env | sed -n "1,/${SENTINEL}/p" > ${ENV_FILE}
echo " # Rest of the file was AUTO-GENERATED from" | tee -a ${ENV_FILE}
echo " #" $(git config --get remote.origin.url) heat/ONAP/onap_openstack.env $(git rev-parse HEAD) | tee -a ${ENV_FILE}
popd
sed "1,/${SENTINEL}/d" ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.env >> ${ENV_FILE}
cat ${ENV_FILE}
# generate final heat template
# add apt proxy to heat template if applicable
if [ -x $LAB_DIR/apt-proxy.sh ]; then
$LAB_DIR/apt-proxy.sh ${YAML_FILE}
diff ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml ${YAML_FILE}
fi
#exit 0
#diff ${LAB_DIR}/onap-openstack-template.env ${LAB_DIR}/onap-openstack.env
# tear down old deployment
$WORKSPACE/test/ete/scripts/teardown-onap.sh
# create new stack
STACK="ete-$(uuidgen | cut -c-8)"
echo "New Stack Name: ${STACK}"
openstack stack create -t ${YAML_FILE} -e ${LAB_DIR}/onap-openstack.env $STACK
while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value $STACK)" ]; do
sleep 20
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 2m
done