diff options
Diffstat (limited to 'pgaas/src/stage/opt/app/pgaas/etc/create-db-secondary')
-rw-r--r-- | pgaas/src/stage/opt/app/pgaas/etc/create-db-secondary | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/pgaas/src/stage/opt/app/pgaas/etc/create-db-secondary b/pgaas/src/stage/opt/app/pgaas/etc/create-db-secondary deleted file mode 100644 index a0cc8e3..0000000 --- a/pgaas/src/stage/opt/app/pgaas/etc/create-db-secondary +++ /dev/null @@ -1,122 +0,0 @@ -#!/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. - - -# create a secondary database -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" -[ -n "$PGDIR" ] || die "PGDIR is not set" -[ -n "$DBROOT" ] || die "DBROOT is not set" -[ -n "$CFGDIR" ] || die "CFGDIR is not set" - -cd $CFGDIR/main || die "Cannot cd $CFGDIR/main" - -PATH=${INSTALL_ROOT}/opt/app/pgaas/bin:$CFGDIR/etc:$PGDIR/bin:$PATH - -bwget() -{ - ${INSTALL_ROOT}/opt/app/pgaas/bin/pgwget --progress=dot:giga "$@" -} - -umask 077 -TMP=$(mktemp /tmp/tmp.cds1.XXXXXXXXXX) -TMP2=$(mktemp /tmp/tmp.cds2.XXXXXXXXXX) -trap 'rm -f $TMP $TMP2' 0 1 2 3 15 - -# wait until master DB is active and has repmgr available -max=40 -for s in `seq $max` -do - echo "$s of $max: Asking master $MASTER if repmgr is ready" - bwget -O$TMP http://$MASTER:8000/hasrepmgr - ls -l $TMP - if [ -s $TMP ] - then - msg=$(cat $TMP) - case $msg in - OK* ) - echo "Master has repmgr ready" - done=yes - break - ;; - * ) - echo "Master does not have repmgr ready, msg=$msg" - ;; - esac - fi - rm -f $TMP - sleep 15 -done -[ "$done" = "yes" ] || die "Master never had repmgr available" - - -# clone database from master - -# make sure /dbroot/pgdata/main is empty -mv $DBROOT $DBROOT-$(date +%Y%m%d%H%M%S) -mkdir -p $DBROOT -# rm -rf $DBROOT/* - -repmgr -v -h $MASTER -U repmgr -d repmgr -D $DBROOT -f $CFGDIR/main/repmgr.conf --ignore-external-config-files standby clone - -if [ ! -f $DBROOT/PG_VERSION ] -then - umask 022 - cat /opt/logs/dcae/postgresql/server/repmgr.log >> /tmp/pgaas-failures - die repmgr clone failed -fi - -$CFGDIR/etc/start-db - -sleep 10 - -# register as standby -repmgr -f $CFGDIR/main/repmgr.conf standby register -echo repmgr ret=$? -sleep 10 - -# start repmgrd -# start repmgrd (verbose logging for testing) -umask 07 - -# wait until repmgrd starts up -max=20 -REPLOG=/opt/logs/dcae/postgresql/server/repmgr.log -done=no -for s in `seq $max` -do - cat $REPLOG > $TMP - repmgrd -f $CFGDIR/main/repmgr.conf -d --verbose - # start repmgrd (normal logging) - # repmgrd -f $CFGDIR/main/repmgr.conf -d - echo repmgrd ret=$? - sleep 5 - diff $TMP $REPLOG | grep "ERROR.*terminating" > $TMP2 - if [ -s "$TMP2" ] - then cat "$TMP2" - else done=yes; break - fi - sleep 10 -done -[ "$done" = "yes" ] || die "Secondary never started repmgrd" |