3 # ============LICENSE_START=======================================================
4 # Copyright (C) 2019 Nordix Foundation.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
21 # @author Waqas Ikram (waqas.ikram@est.tech)
23 MAVEN_VERSION_DIR="apache-maven-3.3.9"
24 MAVEN_TAR_FILE="$MAVEN_VERSION_DIR-bin.tar.gz"
25 MAVEN_TAR_LOCATION="http://apache.claz.org/maven/maven-3/3.3.9/binaries/$MAVEN_TAR_FILE"
27 SCRIPT_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
28 SCRIPT_NAME=$(basename $0)
29 CONFIG_DIR=$SCRIPT_HOME/config
30 ENV_FILE=$CONFIG_DIR/env
31 TEMP_DIR_PATH=$SCRIPT_HOME/temp
32 TEST_LAB_DIR_PATH=$TEMP_DIR_PATH/test_lab
33 DOCKER_COMPOSE_FILE_PATH=$SCRIPT_HOME/docker-compose.yml
35 MAVEN_DIR=$TEMP_DIR_PATH/maven
36 INSTALLED_MAVEN_DIR=$MAVEN_DIR/$MAVEN_VERSION_DIR
37 MVN=$INSTALLED_MAVEN_DIR/bin/mvn
39 MVN_SETTINGS_XML="$SCRIPT_HOME/settings.xml"
40 MVN_CLEAN_INSTALL="$MVN clean install"
41 SIMULATOR_MAVEN_PROJECT_POM="$SCRIPT_HOME/so-simulators/pom.xml"
42 WAIT_FOR_WORKAROUND_SCRIPT=$CONFIG_DIR/"wait-for-workaround-job.sh"
43 WAIT_FOR_POPULATE_AAI_SCRIPT=$CONFIG_DIR/"wait-for-aai-config-job.sh"
44 WAIT_FOR_CONTAINER_SCRIPT=$CONFIG_DIR/"wait-for-container.sh"
46 echo "Running $SCRIPT_HOME/$SCRIPT_NAME ..."
48 export $(egrep -v '^#' $ENV_FILE | xargs)
50 if [[ ! "$TEMP_DIR_PATH" || ! -d "$TEMP_DIR_PATH" ]]; then
51 echo "Creating temporary directory $TEMP_DIR_PATH"
55 echo "Could not create $TEMP_DIR_PATH"
60 echo "Will use ${TEMP_DIR_PATH} directory"
62 if [[ ! "$MAVEN_DIR" || ! -d "$MAVEN_DIR" ]]; then
63 echo "Creating temporary maven directory $MAVEN_DIR"
67 echo "Could not create $MAVEN_DIR"
71 echo "Will use ${MAVEN_DIR} directory for maven install"
73 if [[ ! "$INSTALLED_MAVEN_DIR" || ! -d "$INSTALLED_MAVEN_DIR" ]]; then
74 echo "Installing maven ..."
78 if [[ ! "$CURL" ]]; then
79 echo "curl command is not installed"
80 echo "Unable to execute test plan"
83 curl -O $MAVEN_TAR_LOCATION
86 if [[ ! "$TAR" ]]; then
87 echo "tar command is not installed"
88 echo "Unable to execute test plan"
92 tar -xzvf apache-maven-3.3.9-bin.tar.gz
94 echo "Finished installing maven ..."
97 echo "Maven installed under directory $INSTALLED_MAVEN_DIR"
101 if [ $? -ne 0 ]; then
102 echo "Unable to run mvn -v command"
108 echo "Will build simulator project using $MVN_CLEAN_INSTALL -f $SIMULATOR_MAVEN_PROJECT_POM --settings $MVN_SETTINGS_XML"
109 $MVN_CLEAN_INSTALL -f $SIMULATOR_MAVEN_PROJECT_POM --settings $MVN_SETTINGS_XML
111 if [ $? -ne 0 ]; then
112 echo "Maven build failed"
116 echo "Will clone docker-config project ... "
119 if [[ -d "$TEST_LAB_DIR_PATH" ]]; then
120 echo "$TEST_LAB_DIR_PATH already exists"
121 echo "Removing $TEST_LAB_DIR_PATH directory ..."
122 rm -rf $TEST_LAB_DIR_PATH
125 git clone http://gerrit.onap.org/r/so/docker-config.git $TEST_LAB_DIR_PATH
127 export TEST_LAB_DIR=$TEST_LAB_DIR_PATH
128 export CONFIG_DIR_PATH=$CONFIG_DIR
130 docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME up -d
132 echo "Sleeping for 3m"
135 echo "Will execute $WAIT_FOR_WORKAROUND_SCRIPT script"
136 $WAIT_FOR_WORKAROUND_SCRIPT
138 if [ $? -ne 0 ]; then
139 echo "ERROR: $WAIT_FOR_WORKAROUND_SCRIPT failed"
140 echo "Will stop running docker containers . . ."
141 docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME down
145 echo "Will execute $WAIT_FOR_POPULATE_AAI_SCRIPT script"
146 $WAIT_FOR_POPULATE_AAI_SCRIPT
148 if [ $? -ne 0 ]; then
149 echo "ERROR: $WAIT_FOR_POPULATE_AAI_SCRIPT failed"
150 echo "Will stop running docker containers . . ."
151 docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME down
155 API_INFRA_CONTAINER_NAME="api-handler-infra"
156 echo "Will execute $WAIT_FOR_CONTAINER_SCRIPT to wait for $API_INFRA_CONTAINER_NAME container to start up"
157 $WAIT_FOR_CONTAINER_SCRIPT -n "$API_INFRA_CONTAINER_NAME" -t "300" -p "${PROJECT_NAME}_default"
159 if [ $? -ne 0 ]; then
160 echo "ERROR: $WAIT_FOR_CONTAINER_SCRIPT failed"
161 echo "Will stop running docker containers . . ."
162 docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME down
167 ROBOT_VARIABLES="-v REPO_IP:${REPO_IP}"
169 echo "Finished executing $SCRIPT_HOME/$SCRIPT_NAME"