#!/bin/bash
# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this code except in compliance
# with the License. You may obtain a copy of the License
# at http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software  
# distributed under the License is distributed on an "AS IS" BASIS,  
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or  
# implied. See the License for the specific language governing  
# permissions and limitations under the License. 


set -x

die()
{
    echo $0: "$@" 1>&2
    echo $0: "$@"
    umask 022
    echo $0: "$@" >> /tmp/pgaas-failures
    exit 1
}

[ -n "$MASTER" ] || die "MASTER is not set"

umask 077
TMP=$( mktemp /tmp/tmp.ccs1.XXXXXXXXXX )
trap 'rm -f $TMP' 0 1 2 3 15

bwget()
{
    ${INSTALL_ROOT}/opt/app/postgresql-prep/bin/pgwget --progress=dot:giga "$@"
}

done=
max=40
for s in `seq $max`
do
    echo "$s of $max: Waiting for master $MASTER to send cdf.cfg"
    bwget -O$TMP http://$MASTER:8000/getcdf/`hostname -f`
    ls -l $TMP
    if [ -s $TMP ]
    then
	msg=$(cat $TMP)
        case "$msg" in
	OK* )
	    echo "Received cdf.cfg"
	    done=yes
	    break
	    ;;
	* ) echo "Received invalid cdf: $msg"
	    ;;
	esac
    fi
    rm -f $TMP
    sleep 15
done
[ "$done" = "yes" ] || die "Master did not send cdf.cfg"

