#!/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 "$CFGDIR" ] || die "CFGDIR is not set" cd $CFGDIR/main || die "Cannot cd $CFGDIR/main" PATH=${INSTALL_ROOT}/opt/app/pgaas/bin:${INSTALL_ROOT}/opt/app/cdf/bin:$PATH LOGDIR=/opt/logs/dcae/postgresql/server PGNODES=$( getpropvalue -n pgnodes ) CLUSTER=pgaas HOSTNAME=`hostname -f` PGNODEVALUE=$( gen-repmgr-info -n "$PGNODES" -l "$HOSTNAME" ) UPSTREAMPGNODE=$( gen-repmgr-info -n "$PGNODES" -c "$HOSTNAME" ) UPSTREAMTEXT="#upstream_node=" case $UPSTREAMPGNODE in DEFAULT ) ;; * ) UPSTREAMTEXT="upstream_node=$UPSTREAMPGNODE" ;; esac cat <<-EOF > repmgr.conf cluster=$CLUSTER node=$PGNODEVALUE node_name=$HOSTNAME conninfo='host=$HOSTNAME user=repmgr dbname=repmgr' use_replication_slots=1 $UPSTREAMTEXT failover=automatic promote_command='repmgr standby promote -f $CFGDIR/main/repmgr.conf' follow_command='repmgr standby follow -f $CFGDIR/main/repmgr.conf' event_notification_command='/opt/app/pgaas/bin/repmgrd-status-changes %n %e %s "%t" "%d"' #Log level: possible values are DEBUG, INFO, NOTICE, WARNING, ERR, ALERT, CRIT or EMERG loglevel=INFO logfile='$LOGDIR/repmgr.log' EOF