aboutsummaryrefslogtreecommitdiffstats
path: root/pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf
diff options
context:
space:
mode:
Diffstat (limited to 'pgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf')
-rwxr-xr-xpgaas/src/stage/opt/app/pgaas/etc/gen-repmgr.conf63
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
+