From f8267a54b694594c78085b3ee61f7c8ddaa9f5c0 Mon Sep 17 00:00:00 2001 From: David Hill Date: Fri, 16 Nov 2018 14:13:31 -0600 Subject: [PATCH 01/10] MCOL-1944 - correct the non-root user:group setup --- oam/install_scripts/syslogSetup.sh | 38 +++++++++++++----------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index e2d690fb4..703f62ed0 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -14,9 +14,22 @@ rsyslog7=0 user=`whoami 2>/dev/null` +#set default names groupname=adm username=syslog +# determine username/groupname + +if [ -f /var/log/messages ]; then + username=`stat -c "%U %G" /var/log/messages | awk '{print $1}'` + groupname=`stat -c "%U %G" /var/log/messages | awk '{print $2}'` +fi + +if [ -f /var/log/syslog ]; then + username=`stat -c "%U %G" /var/log/syslog | awk '{print $1}'` + groupname=`stat -c "%U %G" /var/log/syslog | awk '{print $2}'` +fi + for arg in "$@"; do if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then prefix="`echo $arg | awk -F= '{print $2}'`" @@ -161,8 +174,8 @@ makeDir() { test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 - chmod 777 -R /var/log/mariadb/columnstore - chown $user:$user -R /var/log/mariadb + chmod 750 -R /var/log/mariadb/columnstore + chown $username:$groupname -R /var/log/mariadb } install() { @@ -170,9 +183,6 @@ makeDir checkSyslog if [ ! -z "$syslog_conf" ] ; then $installdir/bin/setConfig -d Installation SystemLogConfigFile ${syslog_conf} >/dev/null 2>&1 - if [ $user != "root" ]; then - chown $user:$user /home/$user/mariadb/columnstore/etc/* - fi if [ "$syslog_conf" == /etc/rsyslog.d/columnstore.conf ] || [ "$syslog_conf" == /etc/rsyslog.d/49-columnstore.conf ]; then @@ -188,21 +198,6 @@ if [ ! -z "$syslog_conf" ] ; then #set the syslog for ColumnStore logging # remove older version incase it was installed by previous build rm -rf /etc/rsyslog.d/columnstore.conf - - # determine username/groupname - - if [ -f /var/log/messages ]; then - user=`stat -c "%U %G" /var/log/messages | awk '{print $1}'` - group=`stat -c "%U %G" /var/log/messages | awk '{print $2}'` - fi - - if [ -f /var/log/syslog ]; then - user=`stat -c "%U %G" /var/log/syslog | awk '{print $1}'` - group=`stat -c "%U %G" /var/log/syslog | awk '{print $2}'` - fi - - # set permissions - chown $user:$group -R /var/log/mariadb > /dev/null 2>&1 if [ $rsyslog7 == 1 ]; then rm -f /etc/rsyslog.d/49-columnstore.conf @@ -210,6 +205,7 @@ if [ ! -z "$syslog_conf" ] ; then sed -i -e s/groupname/$groupname/g ${syslog_conf} sed -i -e s/username/$username/g ${syslog_conf} + chmod 644 ${syslog_conf} else cp ${columnstoreSyslogFile} ${syslog_conf} fi @@ -233,7 +229,7 @@ if [ ! -z "$syslog_conf" ] ; then if [ $? -eq 0 ]; then if [ -f ${syslog_conf}.columnstoreSave ] ; then #uninstall the syslog for ColumnStore logging - v -f ${syslog_conf} ${syslog_conf}.ColumnStoreBackup + mv -f ${syslog_conf} ${syslog_conf}.ColumnStoreBackup mv -f ${syslog_conf}.columnstoreSave ${syslog_conf} >/dev/null 2>&1 if [ ! -f ${syslog_conf} ] ; then cp ${syslog_conf}.ColumnStoreBackup ${syslog_conf} From 575fdf22847cec41276fff8bf4530186d0eca803 Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 20 Nov 2018 09:11:11 -0600 Subject: [PATCH 02/10] MCOL-1944 --- oam/install_scripts/syslogSetup.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 703f62ed0..c1d758396 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -11,6 +11,7 @@ prefix=/usr/local installdir=$prefix/mariadb/columnstore syslog_conf=nofile rsyslog7=0 +non-root-user="no" user=`whoami 2>/dev/null` @@ -41,6 +42,7 @@ for arg in "$@"; do user="`echo $arg | awk -F= '{print $2}'`" groupname=$user username=$user + non-root-user="yes" elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then echo "ignoring unknown argument: $arg" 1>&2 elif [ `expr -- "$arg" : '--'` -eq 2 ]; then @@ -174,7 +176,9 @@ makeDir() { test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 - chmod 750 -R /var/log/mariadb/columnstore + if [ $non-root-user == "yes" ]; then + chmod 777 /var/log/mariadb/columnstore + fi chown $username:$groupname -R /var/log/mariadb } @@ -248,7 +252,6 @@ if [ ! -z "$syslog_conf" ] ; then rm -f /etc/logrotate.d/columnstore restartSyslog - fi } From 332d07328e34498c3c01c9e8a85d49ab04f05249 Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 20 Nov 2018 09:35:02 -0600 Subject: [PATCH 03/10] MCOL-1944 --- oam/install_scripts/syslogSetup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index c1d758396..84980eef8 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -11,7 +11,7 @@ prefix=/usr/local installdir=$prefix/mariadb/columnstore syslog_conf=nofile rsyslog7=0 -non-root-user="no" +non_root_user=no user=`whoami 2>/dev/null` @@ -42,7 +42,7 @@ for arg in "$@"; do user="`echo $arg | awk -F= '{print $2}'`" groupname=$user username=$user - non-root-user="yes" + non_root_user=yes elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then echo "ignoring unknown argument: $arg" 1>&2 elif [ `expr -- "$arg" : '--'` -eq 2 ]; then @@ -176,7 +176,7 @@ makeDir() { test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 - if [ $non-root-user == "yes" ]; then + if [ $non_root_user == "yes" ]; then chmod 777 /var/log/mariadb/columnstore fi chown $username:$groupname -R /var/log/mariadb From 4d70ccd679db034124345e2c12edc7bbd37f5912 Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 20 Nov 2018 13:21:34 -0600 Subject: [PATCH 04/10] MCOL-1944 - fix issues with logging after upgrade --- oam/install_scripts/syslogSetup.sh | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 84980eef8..a900c2e84 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -172,14 +172,19 @@ fi } makeDir() { - test -d /var/log/mariadb/columnstore || mkdir -p /var/log/mariadb/columnstore >/dev/null 2>&1 + if [ ! -d /var/log/mariadb/columnstore ];then + mkdir -p /var/log/mariadb/columnstore >/dev/null 2>&1 + chown $username:$groupname -R /var/log/mariadb + fi + + if [ $non_root_user == "yes" ]; then + chmod 777 /var/log/mariadb + chmod 777 /var/log/mariadb/columnstore + fi + test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 - if [ $non_root_user == "yes" ]; then - chmod 777 /var/log/mariadb/columnstore - fi - chown $username:$groupname -R /var/log/mariadb } install() { @@ -187,12 +192,15 @@ makeDir checkSyslog if [ ! -z "$syslog_conf" ] ; then $installdir/bin/setConfig -d Installation SystemLogConfigFile ${syslog_conf} >/dev/null 2>&1 + if [ $non_root_user == "yes" ]; then + chown $user:$user $installdir/etc/Columnstore.xml* + fi + rm -f ${syslog_conf}.columnstoreSave if [ "$syslog_conf" == /etc/rsyslog.d/columnstore.conf ] || [ "$syslog_conf" == /etc/rsyslog.d/49-columnstore.conf ]; then i=1 else - rm -f ${syslog_conf}.columnstoreSave cp ${syslog_conf} ${syslog_conf}.columnstoreSave >/dev/null 2>&1 sed -i '/# MariaDB/,$d' ${syslog_conf}.columnstoreSave > /dev/null 2>&1 fi From 05ce8e24ef88cfcacdeea58e56da243a52434620 Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 20 Nov 2018 15:13:20 -0600 Subject: [PATCH 05/10] MCOL-1944 - do chmod on all directories --- oam/install_scripts/syslogSetup.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index a900c2e84..31f457505 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -174,17 +174,21 @@ fi makeDir() { if [ ! -d /var/log/mariadb/columnstore ];then mkdir -p /var/log/mariadb/columnstore >/dev/null 2>&1 + test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 + test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 + test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 chown $username:$groupname -R /var/log/mariadb + else + test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 + test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 + test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 fi - + if [ $non_root_user == "yes" ]; then chmod 777 /var/log/mariadb chmod 777 /var/log/mariadb/columnstore fi - test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 - test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 - test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 } install() { From bb096737c3d216b2f4a39b425745d29a8465e1f2 Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 20 Nov 2018 16:47:22 -0600 Subject: [PATCH 06/10] MCOL-1944 - move cplogger from post-install to syslogSetup --- oam/install_scripts/syslogSetup.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 31f457505..da8bd7684 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -232,6 +232,11 @@ if [ ! -z "$syslog_conf" ] ; then chmod 644 /etc/logrotate.d/columnstore restartSyslog + + #log install message + test -f $installdir/post/functions && . $installdir/post/functions + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" + fi } From 430f7c494cd69482b5ca8069486e39e8b87caddc Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 21 Nov 2018 10:25:19 -0600 Subject: [PATCH 07/10] MCOL-1944 - move cplogger to syslogSetup.sh --- oam/install_scripts/post-install | 8 -------- oam/install_scripts/syslogSetup.sh | 32 ++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/oam/install_scripts/post-install b/oam/install_scripts/post-install index 6fac1eaae..d82bbb953 100755 --- a/oam/install_scripts/post-install +++ b/oam/install_scripts/post-install @@ -315,14 +315,6 @@ if [ -z "aws" ]; then $installdir/bin/MCSgetCredentials.sh >/dev/null 2>&1 fi -#log install message -test -f $installdir/post/functions && . $installdir/post/functions -if [ $user = "root" ]; then - $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" -else - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" -fi - #setup hadoop hadoop=`which hadoop 2>/dev/null` if [ -z "$hadoop" ]; then diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index da8bd7684..22cf99054 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -227,16 +227,32 @@ if [ ! -z "$syslog_conf" ] ; then fi fi - # install Columnstore Log Rotate File - cp $installdir/bin/columnstoreLogRotate /etc/logrotate.d/columnstore > /dev/null 2>&1 - chmod 644 /etc/logrotate.d/columnstore - restartSyslog - - #log install message - test -f $installdir/post/functions && . $installdir/post/functions - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" + # install Columnstore Log Rotate File + if [ -d /etc/logrotate.d ]; then + cp $installdir/bin/columnstoreLogRotate /etc/logrotate.d/columnstore > /dev/null 2>&1 + chmod 644 /etc/logrotate.d/columnstore + + #do the logrotate to start with a fresh log file during install + logrotate -f /etc/logrotate.d/columnstore > /dev/null 2>&1 + fi + + #log install message and find the least permission that allows logging to work + CHMOD_LIST=("750" "770" "775" "777") + for CHMOD in "${CHMOD_LIST[@]}"; do + chmod $CHMOD /var/log/mariadb + chmod $CHMOD /var/log/mariadb/columnstore + + test -f $installdir/post/functions && . $installdir/post/functions + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" + + if [ -f /var/log/mariadb/columnstore/info.log ]; then + if [ ! -s /var/log/mariadb/columnstore/info.log ]; then + break + fi + fi + done fi } From 7c1853feab6f55874e8e2306f9870b2c44b10e5a Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 21 Nov 2018 10:52:48 -0600 Subject: [PATCH 08/10] MCOL-1944 - move cplogger to syslogSetup.sh --- oam/install_scripts/syslogSetup.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 22cf99054..7b088f522 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -183,12 +183,6 @@ makeDir() { test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 fi - - if [ $non_root_user == "yes" ]; then - chmod 777 /var/log/mariadb - chmod 777 /var/log/mariadb/columnstore - fi - } install() { @@ -243,6 +237,9 @@ if [ ! -z "$syslog_conf" ] ; then for CHMOD in "${CHMOD_LIST[@]}"; do chmod $CHMOD /var/log/mariadb chmod $CHMOD /var/log/mariadb/columnstore + chmod $CHMOD /var/log/mariadb/columnstore/archive + chmod $CHMOD /var/log/mariadb/columnstore/corefiles + chmod $CHMOD /var/log/mariadb/columnstore/trace test -f $installdir/post/functions && . $installdir/post/functions LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" From bb23798e7413b026828065b8c5d0dba9a35496a3 Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 21 Nov 2018 11:10:27 -0600 Subject: [PATCH 09/10] MCOL-1944 - move cplogger to syslogSetup.sh --- oam/install_scripts/syslogSetup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 7b088f522..b937b7ab2 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -172,7 +172,7 @@ fi } makeDir() { - if [ ! -d /var/log/mariadb/columnstore ];then + if [ ! -d /var/log/mariadb/columnstore ]; then mkdir -p /var/log/mariadb/columnstore >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 @@ -246,7 +246,7 @@ if [ ! -z "$syslog_conf" ] ; then if [ -f /var/log/mariadb/columnstore/info.log ]; then if [ ! -s /var/log/mariadb/columnstore/info.log ]; then - break + exit 0 fi fi done From b422396371f2ef431b077b9f305c23a40482cbac Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 21 Nov 2018 11:43:05 -0600 Subject: [PATCH 10/10] MCOL-1944 - move cplogger to syslogSetup.sh --- oam/install_scripts/syslogSetup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index b937b7ab2..babbd1c88 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -245,7 +245,7 @@ if [ ! -z "$syslog_conf" ] ; then LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" if [ -f /var/log/mariadb/columnstore/info.log ]; then - if [ ! -s /var/log/mariadb/columnstore/info.log ]; then + if [ -s /var/log/mariadb/columnstore/info.log ]; then exit 0 fi fi