This is an automated email from the ASF dual-hosted git repository.
ztao1987 pushed a commit to branch taoz
in repository https://gitbox.apache.org/repos/asf/hawq.git
The following commit(s) were added to refs/heads/taoz by this push:
new 6fa2830 HAWQ-1806. upgrade scripts add check for user and tmp dir
6fa2830 is described below
commit 6fa2830746c4c6186427609ecaa175bff0d1b691
Author: ztao1987 <[email protected]>
AuthorDate: Tue Sep 14 11:32:16 2021 +0800
HAWQ-1806. upgrade scripts add check for user and tmp dir
---
tools/bin/upgrade.sh | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/tools/bin/upgrade.sh b/tools/bin/upgrade.sh
index 7574c58..37acab3 100755
--- a/tools/bin/upgrade.sh
+++ b/tools/bin/upgrade.sh
@@ -72,6 +72,10 @@ check_error() {
fi
}
+get_guc(){
+ local res=`grep -A 2 $1 $GPHOME/etc/hawq-site.xml| grep \<value\> | awk -F
'[>]' '{print $2}'|awk -F '[<]' '{print $1}'`
+ echo $res
+}
# check environment
if [[ -z $GPHOME ]];then
echo "Environment variable GPHOME is not set."
@@ -79,6 +83,12 @@ if [[ -z $GPHOME ]];then
fi
source $GPHOME/greenplum_path.sh
+user=`whoami`
+if [[ "$user" != "gpadmin" ]]; then
+ echo "Failed! User running the script shoule be gpadmin."
+ exit 1
+fi
+
# check master version
version_str=`hawq --version`
check_error "get hawq version on master"
@@ -89,12 +99,20 @@ if [[ "$version" != "$target_version" ]];then
fi
echo "Upgrade begin, you can find logs of each module in folder
$HOME/hawqAdminLogs/upgrade"
-MASTER_HOST=`cat $GPHOME/etc/hawq-site.xml | grep -A 1
'hawq_master_address_host' | tail -n 1 | awk -F '[>]' '{print $2}'|awk -F '[<]'
'{print $1}'`
-MASTER_PORT=`cat $GPHOME/etc/hawq-site.xml | grep -A 1
'hawq_master_address_port' | tail -n 1 | awk -F '[>]' '{print $2}'|awk -F '[<]'
'{print $1}'`
-SEGMENT_PORT=`cat $GPHOME/etc/hawq-site.xml | grep -A 1
'hawq_segment_address_port' | tail -n 1 | awk -F '[>]' '{print $2}'|awk -F
'[<]' '{print $1}'`
+MASTER_HOST=`get_guc "hawq_master_address_host"`
+MASTER_PORT=`get_guc "hawq_master_address_port"`
+SEGMENT_PORT=`get_guc "hawq_segment_address_port"`
+MASTER_TEMP_DIR=`get_guc "hawq_master_temp_directory"`
+SEGMENT_TEMP_DIR=`get_guc "hawq_segment_temp_directory"`
SEGMENT_HOSTS=`cat $GPHOME/etc/slaves`
OPTIONS='-c gp_maintenance_conn=true'
+# check whether all tmp dir exsits
+ls $MASTER_TEMP_DIR $SEGMENT_TEMP_DIR
+check_error "check master and segment temp dir on master"
+gpssh -f $GPHOME/etc/slaves "ls $MASTER_TEMP_DIR $SEGMENT_TEMP_DIR"
+check_error "check master and segment temp dir on all segments"
+
# check whether all segments replaced with new binary
result=`gpssh -f $GPHOME/etc/slaves "source $GPHOME/greenplum_path.sh;hawq
--version;"`
check_error "check version on all hosts"