CSIT version variance handling
[integration/csit.git] / plans / aaf / aafapi / setup.sh
index 67cdda3..d92d18b 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # ============LICENSE_END============================================
-# ===================================================================
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
-# Place the scripts in run order:
-source ${SCRIPTS}/common_functions.sh
 
-# Clone AAF Authz repo
-mkdir -p $WORKSPACE/archives/opt
-cd $WORKSPACE/archives/opt
-
-
-HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
-export HOST_IP=${HOST_IP}
-
-CURRENT_DIR=$(pwd) export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
-
-NEXUS_USERNAME=anonymous
-NEXUS_PASSWD=anonymous
-NEXUS_DOCKER_REPO=nexus3.onap.org:10001
-AAF_DOCKER_VERSION=2.1.5
-
-docker login -u $NEXUS_USERNAME -p "$NEXUS_PASSWD" $NEXUS_DOCKER_REPO
-
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_config:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_cm:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_fs:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_gui:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_hello:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_locate:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_oauth:$AAF_DOCKER_VERSION
-docker pull $NEXUS_DOCKER_REPO/onap/aaf/aaf_service:$AAF_DOCKER_VERSION
-
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION nexus3.onap.org:10003/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION nexus3.onap.org:10003/onap/aaf/aaf_cass:2.1.6-SNAPSHOT
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:2.1.6-SNAPSHOT
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION nexus3.onap.org:10003/onap/aaf/aaf_cass:2.1.7-SNAPSHOT
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:2.1.7-SNAPSHOT
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION nexus3.onap.org:10003/onap/aaf/aaf_cass:2.1.8-SNAPSHOT
-docker tag $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION $NEXUS_DOCKER_REPO/onap/aaf/aaf_cass:2.1.8-SNAPSHOT
-
-git clone --depth 1 http://gerrit.onap.org/r/aaf/authz -b master
-git pull
-chmod -R 777 authz
-cd authz
+echo "AAF setup.sh"
+# Starting Directory
 CURRENT_DIR=$(pwd)
 
-pwd
-
-if [ ! -e auth/csit/d.props ]; then
-  cp auth/csit/d.props.init auth/csit/d.props
+if [ "$(uname)" = "Darwin" ]; then
+  SED="sed -i .bak"
+else
+  SED="sed -i"
 fi
 
-if [ ! -e auth/docker/d.props ]; then
-  cp auth/docker/d.props.init auth/docker/d.props
-fi
-
-NEXUS_USERNAME=anonymous
-NEXUS_PASSWD=anonymous
-NEXUS_DOCKER_REPO=nexus3.onap.org:10001
-sed -i "s/DOCKER_REPOSITORY=.*/DOCKER_REPOSITORY=$NEXUS_DOCKER_REPO/" auth/csit/d.props
-. auth/csit/d.props
-
-
-
-HOSTNAME=`hostname`
-FQDN=aaf.api.simpledemo.onap.org
-HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
-export HOST_IP=${HOST_IP}
-
-
-CASS_IP=`docker inspect aaf_cass | grep '"IPAddress' | head -1 | cut -d '"' -f 4`
-CASS_HOST="cass.aaf.osaaf.org:"$CASS_IP
-
-cd auth/auth-cass/docker
-if [ "`docker container ls | grep aaf_cass`" = "" ]; then
-  # Cassandra Install
-  echo Cassandra Install
-  bash ./dinstall.sh
-fi
+# Place the scripts in run order:
+source ${SCRIPTS}/common_functions.sh
 
-CASS_IP=`docker inspect aaf_cass | grep '"IPAddress' | head -1 | cut -d '"' -f 4`
-CASS_HOST="cass.aaf.osaaf.org:"$CASS_IP
-if [ ! -e $WORKSPACE/archives/opt/authz/auth/csit/cass.props ]; then
-  cp $WORKSPACE/archives/opt/authz/auth/csit/cass.props.init $WORKSPACE/archives/opt/authz/auth/csit/cass.props
+# Clone AAF Authz repo
+CODE_DIR="$WORKSPACE/archives/opt"
+mkdir -p $CODE_DIR
+cd $CODE_DIR
+
+# Get or refresh AAF Code set
+if [ -e authz ]; then
+  cd authz
+  git pull
+else
+  git clone --depth 1 http://gerrit.onap.org/r/aaf/authz -b master
+  chmod -R 777 authz
+  cd authz
 fi
-
-sed -i "s/CASS_HOST=.*/CASS_HOST="$CASS_HOST"/g" $WORKSPACE/archives/opt/authz/auth/csit/cass.props
-
-
-# TODO Pull from Config Dir
-if [ "$LATITUDE" = "" ]; then
-  LATITUDE=37.781
-  LONGITUDE=-122.261
-  sed -i "s/LATITUDE=.*/LATITUDE=$LATITUDE/g" $WORKSPACE/archives/opt/authz/auth/csit/d.props
-  sed -i "s/LONGITUDE=.*/LONGITUDE=$LONGITUDE/g" $WORKSPACE/archives/opt/authz/auth/csit/d.props
+echo "Current Dir: ${PWD}"
+
+# Locate to Docker dir
+cd auth/docker
+cp d.props.csit d.props
+
+echo "Current Dir: ${PWD}"
+source d.props
+
+# Fill in anything missing
+$SED "s/^LATITUDE=.*/LATITUDE=${LATITUDE:=38.0}/" d.props
+$SED "s/^LONGITUDE=.*/LONGITUDE=${LONGITUDE:=-72.0}/" d.props
+$SED "s/^LONGITUDE=.*/LONGITUDE=${LONGITUDE:=-72.0}/" d.props
+# For Jenkins, gotta use 10001, not 10003
+DOCKER_REPOSITORY=nexus3.onap.org:10001
+$SED "s/DOCKER_REPOSITORY=.*/DOCKER_REPOSITORY=$DOCKER_REPOSITORY/"  d.props
+
+$SED "s/HOSTNAME=.*/HOSTNAME=aaf.api.simpledemo.onap.org/"  d.props
+DOCKER_NAME=$(docker info | grep Name | awk '{print $2}' )
+echo "Docker Name is $DOCKER_NAME"
+
+
+#if [ "$DOCKER_NAME" = "minikube" ]; then
+#  echo "Minikube IP"
+#  HOST_IP=$(minikube ip)
+#else 
+#  echo "Trying to get IP from Docker $DOCKER_NAME with 'ip route' method"
+#  # ip route get 8.8.8.8
+#  HOST_IP=$(ip route get 8.8.8.8 | awk '{print $7}')
+#  if [ -z "$HOST_IP" ]; then
+#     echo "Critical HOST_IP could not be obtained by 2 different methods.  Exiting..."
+#     exit
+#  fi
+#  echo 
+#fi
+#$SED "s/HOST_IP=.*/HOST_IP=$HOST_IP/" d.props
+
+if [ -z "$SKIP_PULL" ]; then
+  # Pull latest Dockers
+  AAF_DOCKER_VERSION=${VERSION}
+  NEXUS_USERNAME=anonymous
+  NEXUS_PASSWD=anonymous
+  echo "$NEXUS_PASSWD" | docker login -u $NEXUS_USERNAME --password-stdin $DOCKER_REPOSITORY
+
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_config:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_cm:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_fs:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_gui:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_hello:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_locate:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_oauth:$AAF_DOCKER_VERSION
+  docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_service:$AAF_DOCKER_VERSION
 fi
+# Cassandra Install/Start
+cd ../auth-cass/docker
+echo Cassandra Install
+bash ./dinstall.sh
+cd -
 
-sed -i "s/VERSION=.*/VERSION=$VERSION/g" $WORKSPACE/archives/opt/authz/auth/csit/d.props
-sed -i "s/HOSTNAME=.*/HOSTNAME=$HOSTNAME/g" $WORKSPACE/archives/opt/authz/auth/csit/d.props
-sed -i "s/HOST_IP=.*/HOST_IP=$HOST_IP/g" $WORKSPACE/archives/opt/authz/auth/csit/d.props
-sed -i "s/AAF_REGISTER_AS=.*/AAF_REGISTER_AS=$FQDN/g" $WORKSPACE/archives/opt/authz/auth/csit/d.props
-
-pwd
-
-cd ../../
-
-pwd
+source d.props
+cat d.props
 
-cd csit
-tty
-# Need new Deployment system properties
-bash ./aaf.sh
-
-# run it
+# AAF Run
 bash ./drun.sh
 
 docker images
 
 docker ps -a
 
-cat /etc/sudoers
-
-docker logs aaf_hello
-
-docker logs aaf_locate
-
-docker logs aaf_cm
-
-docker logs aaf_gui
-
-docker logs aaf_fs
-
-docker logs aaf_oauth
-
-docker logs aaf_service
-
-# Wait for initialization of Docker containers
-for i in {1..50}; do
-        if [ $(docker inspect --format '{{ .State.Running }}' aaf_hello) ] && \
-                [ $(docker inspect --format '{{ .State.Running }}' aaf_cm) ] && \
-                               [ $(docker inspect --format '{{ .State.Running }}' aaf_fs) ] && \
-                               [ $(docker inspect --format '{{ .State.Running }}' aaf_gui) ] && \
-                               [ $(docker inspect --format '{{ .State.Running }}' aaf_oauth) ] && \
-                               [ $(docker inspect --format '{{ .State.Running }}' aaf_locate) ] && \
-                [ $(docker inspect --format '{{ .State.Running }}' aaf_service) ]
-        then
-                echo "aaf Service Running"
-                break
-        else
-                echo sleep $i
-                sleep $i
-        fi
+for C in aaf-service aaf-locate aaf-oauth aaf-cm aaf-gui aaf-hello aaf-fs; do
+  docker logs $C
 done
 
+bash ./aaf.sh wait aaf-service
 
-
-AAF_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_service)
-CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_cass)
-
+AAF_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf-service)
 echo AAF_IP=${AAF_IP}
-echo CASSANDRA_IP=${CASSANDRA_IP}
 
-# Wait for initialization of docker services
-for i in {1..12}; do
-   curl -k -u aaf_admin@people.osaaf.org:demo123456! https://${AAF_IP}:8100/authz/nss/org.osaaf.people && break
-    echo sleep $i
-    sleep $i
-done
+openssl s_client -connect $AAF_IP:8100
 
-#Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v AAF_IP:${AAF_IP}"
\ No newline at end of file
+export ROBOT_VARIABLES="-v AAF_IP:${AAF_IP}"