a89a1625eb589e61ee96fa5a1189b67338f7125f
[integration/csit.git] / plans / aaf / certservice / setup.sh
1 #!/bin/bash
2 #
3 # Copyright 2020 Nokia.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17
18 # ------------------------------------
19 # Resolve path to script's directory and cmp servers configuration
20
21 SCRIPT=`realpath $0`
22 CURRENT_WORKDIR_PATH=`dirname $SCRIPT`
23 PROJECT_DIRECTORY="plans/aaf/certservice"
24
25 SCRIPTS_DIRECTORY="scripts"
26
27 JENKINS_SCRIPTS_PATH="$CURRENT_WORKDIR_PATH/$PROJECT_DIRECTORY/$SCRIPTS_DIRECTORY"
28 LOCAL_SCRIPTS_PATH="$CURRENT_WORKDIR_PATH/$SCRIPTS_DIRECTORY"
29
30 if test -d "$JENKINS_SCRIPTS_PATH"; then
31     SCRIPTS_PATH=$JENKINS_SCRIPTS_PATH
32 else test -f "$LOCAL_SCRIPTS_PATH";
33     SCRIPTS_PATH=$LOCAL_SCRIPTS_PATH
34 fi
35 echo "Use scripts from: $SCRIPTS_PATH"
36
37 CONFIGURATION_FILE="cmpServers.json"
38
39 JENKINS_CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/$PROJECT_DIRECTORY/$CONFIGURATION_FILE"
40 LOCAL_CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/$CONFIGURATION_FILE"
41
42 if test -f "$JENKINS_CONFIGURATION_PATH"; then
43     CONFIGURATION_PATH="$JENKINS_CONFIGURATION_PATH"
44 else test -f "$LOCAL_CONFIGURATION_PATH";
45     CONFIGURATION_PATH=$LOCAL_CONFIGURATION_PATH
46 fi
47 echo "Use configuration from: $CONFIGURATION_PATH"
48
49 # -------------------------------------
50
51 export CONFIGURATION_PATH=${CONFIGURATION_PATH}
52 export SCRIPTS_PATH=${SCRIPTS_PATH}
53
54 docker-compose up -d
55
56 AAFCERT_IP='none'
57 # Wait container ready
58 for i in {1..9}
59 do
60    AAFCERT_IP=`get-instance-ip.sh aafcert`
61    RESP_CODE=$(curl -I -s -o /dev/null -w "%{http_code}"  http://${AAFCERT_IP}:8080/actuator/health)
62    if [[ "$RESP_CODE" == '200' ]]; then
63        echo 'AAF Cert Service is ready'
64        export AAFCERT_IP=${AAFCERT_IP}
65        docker exec aafcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh
66        break
67    fi
68    echo 'Waiting for AAF Cert Service to start up...'
69    sleep 30s
70 done
71
72 if [[ $AAFCERT_IP == 'none' ] || [ $AAFCERT_IP == '' ]]; then
73     echo "AAF Cert Service is not ready!"
74     exit 1 # Return error code
75 fi