diff options
Diffstat (limited to 'pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf')
-rwxr-xr-x | pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf b/pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf new file mode 100755 index 0000000..924a097 --- /dev/null +++ b/pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf @@ -0,0 +1,63 @@ +#!/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 + |