Azure-plugin not sending REST calls to Azure cloud
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / examples / hello-world / scripts / start.sh
1 #!/bin/bash
2 # Licensed to the Apache Software Foundation (ASF) under one or more
3 # contributor license agreements.  See the NOTICE file distributed with
4 # this work for additional information regarding copyright ownership.
5 # The ASF licenses this file to You under the Apache License, Version 2.0
6 # (the "License"); you may not use this file except in compliance with
7 # the License.  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 set -e
18
19 TEMP_DIR=/tmp
20 PYTHON_FILE_SERVER_ROOT="$TEMP_DIR/python-simple-http-webserver"
21 PID_FILE=server.pid
22 PORT=$(ctx node properties port)
23 URL="http://localhost:$PORT"
24
25 ctx logger info [ "Starting web server at: $PYTHON_FILE_SERVER_ROOT." ]
26
27 cd "$PYTHON_FILE_SERVER_ROOT"
28 nohup python -m SimpleHTTPServer "$PORT" > /dev/null 2>&1 &
29 echo $! > "$PID_FILE"
30
31 server_is_up() {
32         if which wget >/dev/null; then
33                 if wget "$URL" >/dev/null; then
34                         return 0
35                 fi
36         elif which curl >/dev/null; then
37                 if curl "$URL" >/dev/null; then
38                         return 0
39                 fi
40         else
41                 ctx logger error [ "Both curl and wget were not found in path." ]
42                 exit 1
43         fi
44         return 1
45 }
46
47 ctx logger info [ "Waiting for web server to launch on port $PORT..." ]
48 STARTED=false
49 for i in $(seq 1 15)
50 do
51         if server_is_up; then
52                 ctx logger info [ "Web server is up." ]
53                 STARTED=true
54         break
55         else
56                 ctx logger info [ "Web server not up. waiting 1 second." ]
57                 sleep 1
58         fi
59 done
60
61 if [ "$STARTED" = false ]; then
62         ctx logger error [ "Web server did not start within 15 seconds." ]
63         exit 1
64 fi