From a74b03fdad9443f8e95c1f44d166a10d23d90e21 Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 16 Nov 2016 23:22:25 +0000 Subject: [PATCH] mcol-404, non-root install fixes --- oam/install_scripts/columnstore | 20 ++++++----- oam/install_scripts/post-install | 13 ++++++-- oam/install_scripts/pre-uninstall | 44 +++++++++++++++---------- oam/oamcpp/liboamcpp.cpp | 2 +- oamapps/alarmmanager/alarmmanager.cpp | 20 +++-------- oamapps/postConfigure/postConfigure.cpp | 11 +++---- 6 files changed, 58 insertions(+), 52 deletions(-) diff --git a/oam/install_scripts/columnstore b/oam/install_scripts/columnstore index c346e3eb0..315256cd9 100644 --- a/oam/install_scripts/columnstore +++ b/oam/install_scripts/columnstore @@ -57,8 +57,10 @@ if [ "x$has_um" = x ]; then fi user=$USER +sudo=sudo if [ -z "$user" ]; then user=root + sudo=" " fi checkInstallSetup() { @@ -66,7 +68,7 @@ checkInstallSetup() { if [ $InitialInstallFlag != "y" ]; then echo "Please run the postConfigure install script, check the Installation Guide" echo "for additional details" - rm -f /var/lock/subsys/columnstore + sudo rm -f /var/lock/subsys/columnstore exit 1 fi } @@ -79,13 +81,13 @@ start() { exit 0 fi - (mkdir -p /var/lock/subsys && touch /var/lock/subsys/columnstore) >/dev/null 2>&1 + (sudo mkdir -p /var/lock/subsys && touch /var/lock/subsys/columnstore) >/dev/null 2>&1 if [ -x $InstallDir/bin/columnstore.pre-start ]; then $InstallDir/bin/columnstore.pre-start if [ $? -ne 0 ]; then echo "Error running MariaDB Columnstore pre-start script, not starting MariaDB Columnstore" - rm -f /var/lock/subsys/columnstore + sudo rm -f /var/lock/subsys/columnstore exit 1 fi fi @@ -106,21 +108,21 @@ start() { RETVAL=0 echo "Starting MariaDB Columnstore Database Platform" - rm -f /tmp/StopColumnstore + sudo rm -f /tmp/StopColumnstore exec $InstallDir/bin/run.sh $InstallDir/bin/ProcMon > /dev/null 2>&1 & return $RETVAL } stop() { echo "Shutting down MariaDB Columnstore Database Platform" - touch /tmp/StopColumnstore - pkill ProcMon - pkill ProcMgr + sudo touch /tmp/StopColumnstore + sudo pkill ProcMon + sudo pkill ProcMgr sleep 1 $InstallDir/bin/clearShm RETVAL=$? - rm -f /var/lock/subsys/columnstore - fuser -k 8604/tcp > /dev/null 2>&1 + sudo rm -f /var/lock/subsys/columnstore + sudo fuser -k 8604/tcp > /dev/null 2>&1 test -f $InstallDir/mysql/mysql-Columnstore || return $RETVAL $InstallDir/mysql/mysql-Columnstore stop > /dev/null 2>&1 if [ -x $InstallDir/bin/columnstore.post-stop ]; then diff --git a/oam/install_scripts/post-install b/oam/install_scripts/post-install index 38ad26fe6..6e245b31b 100755 --- a/oam/install_scripts/post-install +++ b/oam/install_scripts/post-install @@ -95,7 +95,16 @@ sudo ln -s /usr/lib64/perl5/CORE/libperl.so /usr/lib64/libperl.so >/dev/null 2>& cd / +if [ $user != "root" ]; then + sudo chmod 777 /var + sudo chmod 777 /var/log +fi + +test -d /var/log/mariadb || mkdir /var/log/mariadb >/dev/null 2>&1 +sudo chmod 777 /var/log/mariadb test -d /var/log/mariadb/columnstore || mkdir /var/log/mariadb/columnstore >/dev/null 2>&1 +sudo chmod 777 /var/log/mariadb/columnstore + 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 @@ -182,9 +191,9 @@ if [ $user = "root" ]; then else sudo $installdir/bin/syslogSetup.sh --installdir=$installdir install > /tmp/syslog_install.log 2>&1 sudo chown $user:$user $installdir/etc/Columnstore.xml - sudo chmod 755 /var/log - sudo chmod -R 755 /var/log/mariadb/columnstore sudo chmod -R 777 /dev/shm + sudo chmod 777 /var/lock/subsys + sudo chmod 777 /tmp sudo rm -f /var/lock/subsys/mysql-Columnstore sudo rm -f /tmp/StopColumnstore diff --git a/oam/install_scripts/pre-uninstall b/oam/install_scripts/pre-uninstall index 464071188..bf3bbc053 100755 --- a/oam/install_scripts/pre-uninstall +++ b/oam/install_scripts/pre-uninstall @@ -38,17 +38,27 @@ $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 /root/.bashrc.columnstoreSave ; then - $sudo mv -f /root/.bashrc.columnstoreSave /root/.bashrc > /dev/null 2>&1 +if [ $user = "root" ]; then + if test -f /root/.bashrc.columnstoreSave ; then + mv -f /root/.bashrc.columnstoreSave /root/.bashrc > /dev/null 2>&1 + fi +else + if test -f $HOME/.bashrc.columnstoreSave ; then + mv -f /home/$user/.bashrc.columnstoreSave /home/$user/.bashrc > /dev/null 2>&1 + fi fi + + if test -f /etc/exports.columnstoreSave ; then $sudo mv -f /etc/exports.columnstoreSave /etc/exports > /dev/null 2>&1 else $sudo rm -f /etc/exports > /dev/null 2>&1 fi -if test -f /etc/rc.d/rc.local.columnstoreSave ; then + +if test -f /etc/rc.d/rc.local.columnstoreSave ; then $sudo mv -f /etc/rc.d/rc.local.columnstoreSave /etc/rc.d/rc.local > /dev/null 2>&1 fi + if test -f /etc/rc.local.columnstoreSave ; then $sudo mv -f /etc/rc.local.columnstoreSave /etc/rc.local > /dev/null 2>&1 fi @@ -65,23 +75,23 @@ 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 +sudo rm -f /var/log/mariadb/columnstore/activeAlarms > /dev/null 2>&1 +sudo rm -f /var/log/mariadb/columnstore/*.log1 > /dev/null 2>&1 rm -rf $installdir/mysql/db/columnstore_log_archive > /dev/null 2>&1 sudo 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 -rm -f /etc/cron.d/transactionLog > /dev/null 2>&1 +sudo rm -f /etc/logrotate.d/columnstore > /dev/null 2>&1 +sudo rm -f /etc/cron.d/transactionLog > /dev/null 2>&1 # delete Mariab Columnstore shared memory segments $installdir/bin/clearShm > /dev/null 2>&1 # delete prat files -rm -f /etc/cron.d/ps > /dev/null 2>&1 -rm -f /etc/pscollect > /dev/null 2>&1 -/etc/init.d/crond reload > /dev/null 2>&1 -sudo systemctl reload crond.service > /dev/null 2>&1 +sudo rm -f /etc/cron.d/ps > /dev/null 2>&1 +sudo rm -f /etc/pscollect > /dev/null 2>&1 +sudo /etc/init.d/crond reload > /dev/null 2>&1 +sudo sudo systemctl reload crond.service > /dev/null 2>&1 # delete tmp files rm -f $installdir/local/*.columnstore @@ -90,7 +100,7 @@ rm -rf /tmp/bucketreuse rm -f /tmp/columnstore.txt rm -f /tmp/dbbuilder.* rm -f /tmp/dbrmfiles -rm -f /var/lock/subsys/columnstore +sudo rm -f /var/lock/subsys/columnstore rm -f /tmp/pkgcheck rm -f /tmp/upgrade-status.log.* rm -f /tmp/mount.log @@ -122,8 +132,8 @@ systemctl=`which systemctl 2>/dev/null` if [ -n "$systemctl" ]; then sudo systemctl disable columnstore >/dev/null 2>&1 - rm -f /usr/lib/systemd/system/columnstore.service - rm -f /lib/systemd/system/columnstore.service + sudo rm -f /usr/lib/systemd/system/columnstore.service + sudo rm -f /lib/systemd/system/columnstore.service else chkconfig=`which chkconfig 2>/dev/null` if [ -n "$chkconfig" ]; then @@ -158,9 +168,9 @@ fi #remove library paths if [ $installdir == "/usr/local/mariadb/columnstore" ]; then # remove library config file - rm -f /etc/ld.so.conf.d/columnstore.conf - rm -f /etc/ld.so.cache - ldconfig + sudo rm -f /etc/ld.so.conf.d/columnstore.conf + sudo rm -f /etc/ld.so.cache + sudo ldconfig fi #tell user to run post configure script diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index efd2cc977..55dbdefea 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -9614,7 +9614,7 @@ namespace oam // not root user // The stat above may fail for non-root because of permissions // This is a non-optimal solution - string cmd = "pgrep ProcMon"; + string cmd = "pgrep ProcMon > /dev/null 2>&1"; if (system(cmd.c_str()) == 0) { return true; diff --git a/oamapps/alarmmanager/alarmmanager.cpp b/oamapps/alarmmanager/alarmmanager.cpp index 499cc7755..7d33b0302 100644 --- a/oamapps/alarmmanager/alarmmanager.cpp +++ b/oamapps/alarmmanager/alarmmanager.cpp @@ -234,7 +234,6 @@ void processAlarm(const Alarm& calAlarm) rewriteActiveLog (alarmList); } catch (runtime_error& e) { - if (ALARM_DEBUG) { LoggingID lid(11); MessageLog ml(lid); Message msg; @@ -242,9 +241,7 @@ void processAlarm(const Alarm& calAlarm) args.add("rewriteActiveLog error:"); args.add(e.what()); msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); + ml.logErrorMessage(msg); } break; } @@ -256,7 +253,6 @@ void processAlarm(const Alarm& calAlarm) logAlarm (calAlarm, ACTIVE_ALARM_FILE); } catch (runtime_error& e) { - if (ALARM_DEBUG) { LoggingID lid(11); MessageLog ml(lid); Message msg; @@ -264,9 +260,7 @@ void processAlarm(const Alarm& calAlarm) args.add("logAlarm error:"); args.add(e.what()); msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); + ml.logErrorMessage(msg); } } @@ -276,7 +270,6 @@ void processAlarm(const Alarm& calAlarm) logAlarm (calAlarm, ALARM_FILE); } catch (runtime_error& e) { - if (ALARM_DEBUG) { LoggingID lid(11); MessageLog ml(lid); Message msg; @@ -284,9 +277,7 @@ void processAlarm(const Alarm& calAlarm) args.add("logAlarm error:"); args.add(e.what()); msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); + ml.logErrorMessage(msg); } } } @@ -462,7 +453,6 @@ void ALARMManager::sendAlarmReport (const char* componentID, int alarmID, int st configAlarm (calAlarm); } catch (runtime_error& e) { - if (ALARM_DEBUG) { LoggingID lid(11); MessageLog ml(lid); Message msg; @@ -470,9 +460,7 @@ void ALARMManager::sendAlarmReport (const char* componentID, int alarmID, int st args.add("configAlarm error:"); args.add(e.what()); msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); + ml.logErrorMessage(msg); } return; diff --git a/oamapps/postConfigure/postConfigure.cpp b/oamapps/postConfigure/postConfigure.cpp index c8353d478..de2359000 100644 --- a/oamapps/postConfigure/postConfigure.cpp +++ b/oamapps/postConfigure/postConfigure.cpp @@ -814,10 +814,7 @@ int main(int argc, char *argv[]) //amazon install setup check bool amazonInstall = false; - if (rootUser) - system("ec2-version > /tmp/amazon.log 2>&1"); - else - system("sudo ec2-version > /tmp/amazon.log 2>&1"); + system("ec2-version > /tmp/amazon.log 2>&1"); ifstream in("/tmp/amazon.log"); @@ -3401,7 +3398,7 @@ int main(int argc, char *argv[]) //run remote command script cout << endl << "----- Starting MariaDB Columnstore on '" + remoteModuleName + "' -----" << endl << endl; - cmd = installDir + "/bin/remote_scp_put.sh " + remoteModuleIP + " " + installDir + "/etc/Columnstore.xml " + installDir + "/etc/. > /dev/null 2>&1"; + cmd = installDir + "/bin/remote_scp_put.sh " + remoteModuleIP + " " + installDir + "/etc/Columnstore.xml > /dev/null 2>&1"; int rtnCode = system(cmd.c_str()); cmd = installDir + "/bin/remote_command.sh " + remoteModuleIP + " " + password + @@ -5044,10 +5041,10 @@ bool updateBash() if (!rootUser) { - string cmd = "echo export columnstore_INSTALL_DIR=" + installDir + " >> " + fileName; + string cmd = "echo export COLUMNSTORE_INSTALL_DIR=" + installDir + " >> " + fileName; system(cmd.c_str()); - cmd = "echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$columnstore_INSTALL_DIR/lib:$columnstore_INSTALL_DIR/mysql/lib/mysql >> " + fileName; + cmd = "echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib/mysql >> " + fileName; system(cmd.c_str()); }