diff --git a/oam/install_scripts/post-install b/oam/install_scripts/post-install index ff81cd1ff..8ec75a9ba 100755 --- a/oam/install_scripts/post-install +++ b/oam/install_scripts/post-install @@ -91,51 +91,51 @@ fi # softlink for libperl.sp, used by cplogger ln -s /usr/lib64/perl5/CORE/libperl.so /usr/lib64/libperl.so >/dev/null 2>&1 -#setup profile files -profileFileAlias=/etc/profile.d/columnstoreAlias.sh -profileFileEnv=/etc/profile.d/columnstoreEnv.sh - if [ $installdir != "/usr/local/mariadb/columnstore" ]; then sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstoreAlias fi if [ $user != "root" ]; then - rm -f $profileFileEnv - rm -f $profileFileAlias - - touch $profileFileEnv - chmod 666 $profileFileEnv - egrep -qs 'MariaDB Columnstore Non-Root' ${profileFileEnv} + profileFile=$prefix/.bash_profile + + if [ ! -f ${profileFile}_backup ]; then + cp $profileFile ${profileFile}_backup + fi + + egrep -qs 'MariaDB Columnstore Non-Root Environment Variables' ${profileFile} rc1=$? if [ $rc1 -ne 0 ]; then - echo " " >> ${profileFileEnv} - echo "# MariaDB Columnstore Non-Root Environment Variables" >> ${profileFileEnv} - echo "export COLUMNSTORE_INSTALL_DIR=$COLUMNSTORE_INSTALL_DIR" >> ${profileFileEnv} - echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib" >> ${profileFileEnv} - . ${profileFileEnv} + echo " " >> ${profileFile} + echo "# MariaDB Columnstore Non-Root Environment Variables" >> ${profileFile} + echo "export COLUMNSTORE_INSTALL_DIR=$COLUMNSTORE_INSTALL_DIR" >> ${profileFile} + echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib" >> ${profileFile} fi - /bin/cp -f $installdir/bin/columnstoreAlias $profileFileAlias - chmod 666 $profileFileAlias + egrep -qs 'MariaDB Columnstore Non-Root Alias Variables' ${profileFile} + rc1=$? + if [ $rc1 -ne 0 ]; then + echo " " >> ${profileFile} + echo "# MariaDB Columnstore Non-Root Alias Variables" >> ${profileFile} + cat $installdir/bin/columnstoreAlias >> ${profileFile} + fi + + #source the file + . ${profileFile} else - /bin/cp -f $installdir/bin/columnstoreAlias $profileFileAlias - 644 $profileFileAlias + /bin/cp -f $installdir/bin/columnstoreAlias /etc/profile.d/columnstoreAlias.sh + chmod 644 /etc/profile.d/columnstoreAlias.sh >/dev/null 2>&1 fi cd / test -d /var/log/mariadb || mkdir /var/log/mariadb >/dev/null 2>&1 test -d /var/log/mariadb/columnstore || mkdir /var/log/mariadb/columnstore >/dev/null 2>&1 - -if [ $user != "root" ]; then - chmod -R 777 /var/log/mariadb >/dev/null 2>&1 - chown -R $user:$user /var/log/mariadb >/dev/null 2>&1 -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 test -h /var/log/mariadb/columnstore/data && rm -f /var/log/mariadb/columnstore/data +chmod 755 /var/log/mariadb/columnstore/corefiles > /dev/null 2>&1 + # make sure trace dir is world-writable and sticky test -d $installdir/data || mkdir $installdir/data test -d $installdir/data1 || mkdir $installdir/data1 @@ -158,13 +158,8 @@ rm -f $installdir/data/bulk/tmpjob/* >/dev/null 2>&1 #create columnstore temp file directory mkdir -p /tmp/columnstore_tmp_files >/dev/null 2>&1 -#setup core file directory and link -mkdir /var/log/mariadb/columnstore/corefiles > /dev/null 2>&1 -chmod 755 /var/log/mariadb/columnstore/corefiles > /dev/null 2>&1 - #create mount directories mkdir /mnt/tmp > /dev/null 2>&1 -mkdir /var/log/mariadb/columnstore/data/archive > /dev/null 2>&1 # remove mysql archive log test -d $installdir/mysql/db || mkdir -p $installdir/mysql/db @@ -173,7 +168,6 @@ rm -rf $installdir/mysql/db/columnstore_log_archive > /dev/null 2>&1 # delete Columnstore shared memory segments $installdir/bin/clearShm > /dev/null 2>&1 -systemctl=`which systemctl 2>/dev/null` #check and create rc.local file if missing if [ -f /etc/rc.d ]; then @@ -189,11 +183,13 @@ else printf '%s\n' '#!/bin/bash' "#" | tee -a $RCFILE > /dev/null 2>&1 fi -#setup the columnstore service script -rm -f /etc/init.d/columnstore >/dev/null 2>&1 -rm -f /etc/init.d/mysql-Columnstore >/dev/null 2>&1 - if [ $user = "root" ]; then + #setup the columnstore service script + rm -f /etc/init.d/columnstore >/dev/null 2>&1 + rm -f /etc/init.d/mysql-Columnstore >/dev/null 2>&1 + rm -f /etc/default/columnstore + + systemctl=`which systemctl 2>/dev/null` if [ -n "$systemctl" ]; then chmod 644 $installdir/bin/columnstore.service @@ -223,12 +219,11 @@ fi if [ $user = "root" ]; then $installdir/bin/syslogSetup.sh install > /tmp/syslog_install.log 2>&1 - rm -f /etc/default/columnstore #check if MariaDB Columnstore system logging was setup cat /tmp/syslog_install.log | grep 'No System Logging' >/dev/null 2>&1 if [ $? -eq 0 ]; then - cat /tmp/syslog_install.log + cat /tmp/syslog_install.log fi else sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstore.def @@ -239,14 +234,22 @@ else sed -i -e s@prefix=/home/guest@prefix=$prefix@g $installdir/bin/* chown $user:$user $installdir/etc/Columnstore.xml + + echo "" + echo "NOTE: For non-root install, you will need to run the following command as root user to" + echo " setup the MariaDB ColumnStore System Logging" + echo "" + echo " $installdir/bin/syslogSetup.sh --installdir=$installdir --user=$user install" + echo "" fi #determine lock file directory + # Lock directory for root user lockdir='/var/lock/subsys' if [ $user != "root" ];then - # Lock directory for non-root user - lockdir=$prefix/.lock + # Lock directory for non-root user + lockdir=$prefix/.lock fi $installdir/bin/setConfig -d Installation LockFileDirectory $lockdir @@ -254,6 +257,7 @@ $installdir/bin/setConfig -d Installation LockFileDirectory $lockdir mkdir $lockdir >/dev/null 2>&1 rm -f $lockdir/mysql-Columnstore +rm -f $lockdir/columnstore #backup copy of Alarm Config File /bin/cp -f $installdir/etc/AlarmConfig.xml $installdir/etc/AlarmConfig.xml.installSave > /dev/null 2>&1 @@ -271,6 +275,7 @@ if [ $user = "root" ]; then 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/pre-uninstall b/oam/install_scripts/pre-uninstall index b5e9774a4..5be2ce5c5 100755 --- a/oam/install_scripts/pre-uninstall +++ b/oam/install_scripts/pre-uninstall @@ -20,6 +20,7 @@ for arg in "$@"; do elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then installdir="`echo $arg | awk -F= '{print $2}'`" prefix=`dirname $installdir` + prefix=`dirname $prefix` elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then user="`echo $arg | awk -F= '{print $2}'`" elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then @@ -33,32 +34,33 @@ done $installdir/bin/columnstore stop > /dev/null 2>&1 $installdir/myql/columnstore-Mysql stop > /dev/null 2>&1 -# uninstall OS scripts updated by postConfigure -if test -f /etc/exports.columnstoreSave ; then - mv -f /etc/exports.columnstoreSave /etc/exports > /dev/null 2>&1 -else - rm -f /etc/exports > /dev/null 2>&1 -fi - export COLUMNSTORE_INSTALL_DIR=$installdir cloud=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation Cloud` if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then if test -f /etc/fstab ; then - sed -i '/Columnstore\/data/d' /etc/fstab > /dev/null 2>&1 + sed -i '/Columnstore\/data/d' /etc/fstab > /dev/null 2>&1 fi fi + +#remove profile file +if [ $user != "root" ]; then + profileFile=$prefix/.bash_profile + + if test -f ${profileFile}_backup ; then + mv -f ${profileFile}_backup $profileFile + fi +else + rm -f /etc/profile.d/columnstoreAlias.sh +fi + #remove log file directories #rm -rf /var/log/mariadb/columnstore > /dev/null 2>&1 #rm -f $installdir/mysql/db/*.err > /dev/null 2>&1 - rm -f /var/log/mariadb/columnstore/activeAlarms > /dev/null 2>&1 - rm -f /var/log/mariadb/columnstore/*.log1 > /dev/null 2>&1 +rm -f /var/log/mariadb/columnstore/activeAlarms > /dev/null 2>&1 +rm -f /var/log/mariadb/columnstore/*.log1 > /dev/null 2>&1 rm -rf $installdir/mysql/db/columnstore_log_archive > /dev/null 2>&1 - rm -f /etc/default/columnstore - -# remove Mariab Columnstore Log Rotate File abd Transaction Log File - rm -f /etc/logrotate.d/columnstore > /dev/null 2>&1 # delete Mariab Columnstore shared memory segments $installdir/bin/clearShm > /dev/null 2>&1 @@ -78,7 +80,7 @@ rm -rf /tmp/columnstore_tmp_files rm -f $installdir/local/moveDbrootTransactionLog lockdir=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation LockFileDirectory` -rm -f $lockdir/subsys/columnstore +rm -f $lockdir/columnstore rm -f $lockdir/mysql-Columnstore # delete core files @@ -124,7 +126,7 @@ if [ $quiet != 1 ]; then rm -f $installdir/etc/AlarmConfig.xml.installSave fi -#umount file systems +#remove OAMdbrootCheck file rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1 #remove library paths @@ -132,7 +134,15 @@ if [ $user = "root" ]; then rm -f /etc/ld.so.conf.d/columnstore.conf ldconfig else - rm -f /etc/defaults/columnstore + rm -f /etc/default/columnstore + + echo "" + echo "NOTE: For non-root install, you will need to run the following command as root user to" + echo " uninstall the MariaDB ColumnStore System Logging" + echo "" + echo " $installdir/bin/syslogSetup.sh --installdir=$installdir --user=$user uninstall" + echo "" + fi #tell user to run post configure script diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 00ade18f4..f75efbd42 100755 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -13,6 +13,8 @@ syslog_conf=nofile rsyslog7=0 user=`whoami 2>/dev/null` +groupname=adm +username=syslog for arg in "$@"; do if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then @@ -21,6 +23,10 @@ for arg in "$@"; do elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then installdir="`echo $arg | awk -F= '{print $2}'`" prefix=`dirname $installdir` + elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then + user="`echo $arg | awk -F= '{print $2}'`" + groupname=$user + username=$user elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then echo "ignoring unknown argument: $arg" 1>&2 elif [ `expr -- "$arg" : '--'` -eq 2 ]; then @@ -150,6 +156,10 @@ install() { 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 ]; then rm -f ${syslog_conf}.columnstoreSave cp ${syslog_conf} ${syslog_conf}.columnstoreSave >/dev/null 2>&1 @@ -163,11 +173,11 @@ if [ ! -z "$syslog_conf" ] ; then rm -rf /etc/rsyslog.d/columnstore.conf if [ $rsyslog7 == 1 ]; then - sed -i -e s/groupname/adm/g ${columnstoreSyslogFile7} - sed -i -e s/username/syslog/g ${columnstoreSyslogFile7} - rm -f /etc/rsyslog.d/49-columnstore.conf cp ${columnstoreSyslogFile7} ${syslog_conf} + + sed -i -e s/groupname/$groupname/g ${syslog_conf} + sed -i -e s/username/$username/g ${syslog_conf} else cp ${columnstoreSyslogFile} ${syslog_conf} fi @@ -205,6 +215,9 @@ if [ ! -z "$syslog_conf" ] ; then else rm -f "$syslog_conf" fi + + # uninstall Columnstore Log Rotate File + rm -f /etc/logrotate.d/columnstore restartSyslog diff --git a/oamapps/postConfigure/installer.cpp b/oamapps/postConfigure/installer.cpp index 1aa8106f0..d486c2d6a 100644 --- a/oamapps/postConfigure/installer.cpp +++ b/oamapps/postConfigure/installer.cpp @@ -1099,6 +1099,9 @@ bool updateProcessConfig(int serverTypeInstall) */ bool makeRClocal(string moduleName, int IserverTypeInstall) { + + return true; + string moduleType = moduleName.substr(0, MAX_MODULE_TYPE_SIZE); vector lines; diff --git a/oamapps/postConfigure/postConfigure.cpp b/oamapps/postConfigure/postConfigure.cpp index 1f63a1075..c53b0c971 100644 --- a/oamapps/postConfigure/postConfigure.cpp +++ b/oamapps/postConfigure/postConfigure.cpp @@ -1239,7 +1239,6 @@ int main(int argc, char* argv[]) if ( !rootUser ) { system("sed -i -e 's/#MCS//g' /etc/rc.d/rc.local >/dev/null 2>&1"); - system("chmod 666 /etc/fstab >/dev/null 2>&1"); } if ( !writeConfig(sysConfig) ) diff --git a/procmon/main.cpp b/procmon/main.cpp index 7190bbcd7..73de5c0fa 100644 --- a/procmon/main.cpp +++ b/procmon/main.cpp @@ -338,11 +338,11 @@ int main(int argc, char** argv) // check if standby never replied, if so, shutdown if ( count >= 120 ) { - log.writeLog(__LINE__, "Standby PM not responding, infinidb shutting down", LOG_TYPE_CRITICAL); + log.writeLog(__LINE__, "Standby PM not responding, columnstore shutting down", LOG_TYPE_CRITICAL); //Set the alarm, commented out. alarm require ProcMgr //aMonitor.sendAlarm(config.moduleName().c_str(), STARTUP_DIAGNOTICS_FAILURE, SET); sleep (1); - string cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /dev/null 2>&1"; + string cmd = startup::StartUp::installDir() + "/bin/columnstore stop > /dev/null 2>&1"; system(cmd.c_str()); }