CSIT version variance handling
[integration/csit.git] / plans / aaf / aafapi / setup.sh
1 #!/bin/bash
2 #
3 # ============LICENSE_START=======================================================
4 # ONAP AAF
5 # ================================================================================
6 # Copyright (C) 2017 AT&T Intellectual Property. All rights
7 #                             reserved.
8 # ================================================================================
9 # Licensed under the Apache License, Version 2.0 (the "License");
10 # you may not use this file except in compliance with the License.
11 # You may obtain a copy of the License at
12 #
13 # http://www.apache.org/licenses/LICENSE-2.0
14 #
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 # See the License for the specific language governing permissions and
19 # limitations under the License.
20 # ============LICENSE_END============================================
21 #
22
23 echo "AAF setup.sh"
24 # Starting Directory
25 CURRENT_DIR=$(pwd)
26
27 if [ "$(uname)" = "Darwin" ]; then
28   SED="sed -i .bak"
29 else
30   SED="sed -i"
31 fi
32
33 # Place the scripts in run order:
34 source ${SCRIPTS}/common_functions.sh
35
36 # Clone AAF Authz repo
37 CODE_DIR="$WORKSPACE/archives/opt"
38 mkdir -p $CODE_DIR
39 cd $CODE_DIR
40
41 # Get or refresh AAF Code set
42 if [ -e authz ]; then
43   cd authz
44   git pull
45 else
46   git clone --depth 1 http://gerrit.onap.org/r/aaf/authz -b master
47   chmod -R 777 authz
48   cd authz
49 fi
50 echo "Current Dir: ${PWD}"
51
52 # Locate to Docker dir
53 cd auth/docker
54 cp d.props.csit d.props
55
56 echo "Current Dir: ${PWD}"
57 source d.props
58
59 # Fill in anything missing
60 $SED "s/^LATITUDE=.*/LATITUDE=${LATITUDE:=38.0}/" d.props
61 $SED "s/^LONGITUDE=.*/LONGITUDE=${LONGITUDE:=-72.0}/" d.props
62 $SED "s/^LONGITUDE=.*/LONGITUDE=${LONGITUDE:=-72.0}/" d.props
63 # For Jenkins, gotta use 10001, not 10003
64 DOCKER_REPOSITORY=nexus3.onap.org:10001
65 $SED "s/DOCKER_REPOSITORY=.*/DOCKER_REPOSITORY=$DOCKER_REPOSITORY/"  d.props
66
67 $SED "s/HOSTNAME=.*/HOSTNAME=aaf.api.simpledemo.onap.org/"  d.props
68 DOCKER_NAME=$(docker info | grep Name | awk '{print $2}' )
69 echo "Docker Name is $DOCKER_NAME"
70
71
72 #if [ "$DOCKER_NAME" = "minikube" ]; then
73 #  echo "Minikube IP"
74 #  HOST_IP=$(minikube ip)
75 #else 
76 #  echo "Trying to get IP from Docker $DOCKER_NAME with 'ip route' method"
77 #  # ip route get 8.8.8.8
78 #  HOST_IP=$(ip route get 8.8.8.8 | awk '{print $7}')
79 #  if [ -z "$HOST_IP" ]; then
80 #     echo "Critical HOST_IP could not be obtained by 2 different methods.  Exiting..."
81 #     exit
82 #  fi
83 #  echo 
84 #fi
85 #$SED "s/HOST_IP=.*/HOST_IP=$HOST_IP/" d.props
86
87 if [ -z "$SKIP_PULL" ]; then
88   # Pull latest Dockers
89   AAF_DOCKER_VERSION=${VERSION}
90   NEXUS_USERNAME=anonymous
91   NEXUS_PASSWD=anonymous
92   echo "$NEXUS_PASSWD" | docker login -u $NEXUS_USERNAME --password-stdin $DOCKER_REPOSITORY
93
94   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION
95   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_config:$AAF_DOCKER_VERSION
96   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_cm:$AAF_DOCKER_VERSION
97   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_fs:$AAF_DOCKER_VERSION
98   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_gui:$AAF_DOCKER_VERSION
99   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_hello:$AAF_DOCKER_VERSION
100   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_locate:$AAF_DOCKER_VERSION
101   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_oauth:$AAF_DOCKER_VERSION
102   docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_service:$AAF_DOCKER_VERSION
103 fi
104 # Cassandra Install/Start
105 cd ../auth-cass/docker
106 echo Cassandra Install
107 bash ./dinstall.sh
108 cd -
109
110 source d.props
111 cat d.props
112
113 # AAF Run
114 bash ./drun.sh
115
116 docker images
117
118 docker ps -a
119
120 for C in aaf-service aaf-locate aaf-oauth aaf-cm aaf-gui aaf-hello aaf-fs; do
121   docker logs $C
122 done
123
124 bash ./aaf.sh wait aaf-service
125
126 AAF_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf-service)
127 echo AAF_IP=${AAF_IP}
128
129 openssl s_client -connect $AAF_IP:8100
130
131 export ROBOT_VARIABLES="-v AAF_IP:${AAF_IP}"