Improve Docker start
[aaf/authz.git] / auth / docker / drun.sh
1 #!/bin/bash
2 # Validate for realtime Cassandra info
3
4 # check if outside Cluster defined... otherwise, set CASS_HOST for using expected Docker based Cass
5 if [ -z "$(grep -e '^CASS_CLUSTER=.*' d.props)" ]; then
6   if [ "$(uname)" = "Darwin" ]; then
7     SED="sed -i .bak"
8   else
9     SED="sed -i"
10   fi
11
12   CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_cass)
13   if [ -z "$(grep -e '^CASS_HOST.*' d.props)" ]; then
14     $SED "s/# CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
15   else 
16     $SED "s/CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
17   fi
18   echo "Updated d.props for CASSANDRA Name/IP"
19   grep -e '^CASS_HOST.*' d.props
20 fi
21
22 # Pull in Variables from d.props
23 . ./d.props
24
25 DOCKER=${DOCKER:=docker}
26
27 bash aaf.sh onap
28
29 if [ "$1" == "" ]; then
30     AAF_COMPONENTS=$(cat components)
31 else
32     AAF_COMPONENTS="$@"
33 fi
34
35 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
36     case "$AAF_COMPONENT" in
37     "service")
38         PORTMAP="8100:8100"
39         LINKS="--link aaf_cass:cassandra "
40         ;;
41     "locate")
42         PORTMAP="8095:8095"
43         LINKS="--link aaf_cass:cassandra "
44         ;;
45     "oauth")
46         PORTMAP="8140:8140"
47         LINKS="--link aaf_cass:cassandra "
48         ;;
49     "gui")
50         PORTMAP="8200:8200"
51         ;;
52     "cm")
53         PORTMAP="8150:8150"
54         LINKS="--link aaf_cass:cassandra "
55         ;;
56     "hello")
57         PORTMAP="8130:8130"
58         ;;
59     "fs")
60         PORTMAP="80:8096"
61         ;;
62     esac
63
64     echo Starting aaf_$AAF_COMPONENT...
65
66     if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then
67        AH_ROOT="$HOSTNAME $AAF_REGISTER_AS"
68     else
69        AH_ROOT="$HOSTNAME"
70     fi
71
72     for A in aaf.osaaf.org $AH_ROOT; do 
73        ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP"
74     done
75
76     if [[ "$CASS_HOST" =~ ":" ]]; then
77        echo "Adding Cassandra Host $CASS_HOST"
78        ADD_HOST="$ADD_HOST --add-host=$CASS_HOST"
79     fi
80     $DOCKER run \
81         -d \
82         --name aaf_$AAF_COMPONENT \
83         --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \
84         $ADD_HOST \
85         ${LINKS} \
86         --env AAF_ENV=${AAF_ENV} \
87         --env AAF_REGISTER_AS=${AAF_REGISTER_AS} \
88         --env LATITUDE=${LATITUDE} \
89         --env LONGITUDE=${LONGITUDE} \
90         --env CASS_HOST=${CASS_HOST} \
91         --env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \
92         --env CASSANDRA_USER=${CASSANDRA_USER} \
93         --env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \
94         --env CASSANDRA_PORT=${CASSANDRA_PORT} \
95         --publish $PORTMAP \
96         -v "aaf_config:$CONF_ROOT_DIR" \
97         ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION}
98 done