aboutsummaryrefslogtreecommitdiffstats
path: root/pgaas/src/stage/opt/app/pgaas/etc/gen-recovery.conf
diff options
context:
space:
mode:
Diffstat (limited to 'pgaas/src/stage/opt/app/pgaas/etc/gen-recovery.conf')
-rw-r--r--pgaas/src/stage/opt/app/pgaas/etc/gen-recovery.conf51
1 files changed, 51 insertions, 0 deletions
diff --git a/pgaas/src/stage/opt/app/pgaas/etc/gen-recovery.conf b/pgaas/src/stage/opt/app/pgaas/etc/gen-recovery.conf
new file mode 100644
index 0000000..1ad41c2
--- /dev/null
+++ b/pgaas/src/stage/opt/app/pgaas/etc/gen-recovery.conf
@@ -0,0 +1,51 @@
+#!/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 "$DBROOT" ] || die "DBROOT is not set"
+
+cd $DBROOT || die "Cannot cd $DBROOT"
+PATH=${INSTALL_ROOT}/opt/app/pgaas/bin:${INSTALL_ROOT}/opt/app/cdf/bin:$PATH
+
+PGNODES=$( getpropvalue -n pgnodes )
+HOSTNAME=`hostname -f`
+PGNODEVALUE=$( gen-repmgr-info -n "$PGNODES" -l "$HOSTNAME" )
+
+# node_name from repmgr.conf => application_name in recovery.conf conninfo line
+# "node" value from repmgr.conf => primary_slot_name in recovery.conf with the string "repmgr_slot_" prefixed
+# node_name in repmgr.conf can be the $HOSTNAME value ?
+
+pswd=$( ${INSTALL_ROOT}/opt/app/cdf/bin/getpropvalue -x -n repmgr )
+
+appname=$HOSTNAME
+PGNODEVALUE=$( gen-repmgr-info -n "$PGNODES" -l "$HOSTNAME" )
+umask 07
+cat <<-EOF > $DBROOT/recovery.conf
+ standby_mode = 'on'
+ primary_conninfo = 'user=repmgr password=$pswd host=$HOSTNAME port=5432 application_name=$HOSTNAME sslmode=prefer sslcompression=1'
+ recovery_target_timeline = 'latest'
+ primary_slot_name = repmgr_slot_$PGNODEVALUE
+EOF
+