Helm charts and apps for pm-setup
[nonrtric/plt/ranpm.git] / install / scripts / wait_for_server_ok.sh
1 #!/bin/bash
2
3 #  ============LICENSE_START===============================================
4 #  Copyright (C) 2023 Nordix Foundation. All rights reserved.
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
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
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.
17 #  ============LICENSE_END=================================================
18 #
19
20
21 # Generic function for waiting for 200/201 http response
22 # args: <url> <server-name>
23 wait_for_server_ok() {
24     echo "Waiting for server ok from: $1 - $2"
25     _ts=$SECONDS
26     retcode=1
27     while [ $retcode -ne 0 ]; do
28         STAT=$(curl -m 60 -s -w '%{http_code}' $1)
29         retcode=$?
30         _msg="time: $(($SECONDS-$_ts)) sec"
31         if [ $retcode -eq 0 ]; then
32             status=${STAT:${#STAT}-3}
33             if [ "$status" == "200" ] || [ "$status" == "201" ]; then
34                 _msg=$_msg", http status $status, OK"
35             else
36                 _msg=$_msg", http status $status, retrying"
37                 retcode=1
38             fi
39         else
40             _msg=$_msg", curl return $retcode, retrying"
41         fi
42         echo -ne "  $_msg                        $SAMELINE"
43         if [ $retcode -eq 0 ]; then
44             echo ""
45             return 0
46         fi
47         sleep 1
48     done
49 }