You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-09-08 10:32:09 +03:00
134 lines
3.6 KiB
Bash
Executable File
134 lines
3.6 KiB
Bash
Executable File
#!/usr/bin/expect
|
|
#
|
|
# $Id$
|
|
#
|
|
# Install RPM on system
|
|
# Argument 1 - Package name being installed
|
|
# Argument 2 - Root Password of remote server
|
|
# Argument 3 - Root Password of External Mode
|
|
|
|
set timeout 10
|
|
set RPMPACKAGE " "
|
|
set PASSWORD " "
|
|
set CONFIGFILE " "
|
|
set DEBUG 0
|
|
set USERNAME "root"
|
|
set INSTALLDIR "/usr/local/mariadb/columnstore"
|
|
|
|
spawn -noecho /bin/bash
|
|
|
|
for {set i 0} {$i<[llength $argv]} {incr i} {
|
|
set arg($i) [lindex $argv $i]
|
|
}
|
|
|
|
set i 0
|
|
while true {
|
|
if { $i == [llength $argv] } { break }
|
|
if { $arg($i) == "-h" } {
|
|
send_user "\n"
|
|
send_user "'postInstaller.sh' performs a system install of a Calpont RPM\n"
|
|
send_user "on a system with Calpont already installed or on a new system\n"
|
|
send_user "when the -c option is used.\n"
|
|
send_user "\n"
|
|
send_user "Usage: postInstaller.sh -r 'calpont-rpm' -p 'password' -c 'config-file' -d\n"
|
|
send_user " calpont-rpm - Calpont RPM with directory locatation, i.e. /root/calpont.x.x.x.x\n"
|
|
send_user " password - root password on the servers being installed'\n"
|
|
send_user " config-file - Optional: Columnstore.xml config file with directory location, i.e. /root/Columnstore.xml\n"
|
|
send_user " -d - Debug flag\n"
|
|
exit
|
|
} elseif { $arg($i) == "-r" } {
|
|
incr i
|
|
set RPMPACKAGE $arg($i)
|
|
} elseif { $arg($i) == "-p" } {
|
|
incr i
|
|
set PASSWORD $arg($i)
|
|
} elseif { $arg($i) == "-c" } {
|
|
incr i
|
|
set CONFIGFILE $arg($i)
|
|
} elseif { $arg($i) == "-d" } {
|
|
set DEBUG 1
|
|
} elseif { $arg($i) == "-i" } {
|
|
incr i
|
|
set INSTALLDIR $arg($i)
|
|
} elseif { $arg($i) == "-u" } {
|
|
incr i
|
|
set USERNAME $arg($i)
|
|
}
|
|
incr i
|
|
}
|
|
|
|
log_user $DEBUG
|
|
|
|
if { $RPMPACKAGE == " " || $PASSWORD == " "} {puts "please enter both RPM and password, enter ./postInstaller.sh -h for additional info"; exit -1}
|
|
|
|
if { $CONFIGFILE == " " } {
|
|
set CONFIGFILE $INSTALLDIR/etc/Columnstore.xml.rpmsave
|
|
}
|
|
if { [catch { open $CONFIGFILE "r"} handle ] } {
|
|
puts "Calpont Config file not found: $CONFIGFILE"; exit -1
|
|
}
|
|
|
|
|
|
send_user "\nPerforming Calpont RPM System Install\n\n"
|
|
|
|
#
|
|
# stopSystem
|
|
#
|
|
send_user "Stop Calpont System "
|
|
expect -re "# "
|
|
send "$INSTALLDIR/bin/mcsadmin stopSystem INSTALL y\n"
|
|
expect {
|
|
-re "# " { send_user "DONE" }
|
|
-re "**** stopSystem Failed" { send_user "INFO: System not running" }
|
|
}
|
|
send_user "\n"
|
|
#
|
|
# erase package
|
|
#
|
|
send_user "Erase Calpont Package on Module "
|
|
expect -re "# "
|
|
send "rpm -e --nodeps calpont\n"
|
|
expect {
|
|
-re "# " { send_user "DONE" }
|
|
-re "uninstall completed" { send_user "DONE" }
|
|
-re "ERROR dependencies" { send_user "ERROR: ERROR dependencies\n" ; exit -1 }
|
|
-re "not installed" { send_user "INFO: Package not installed" }
|
|
}
|
|
send_user "\n"
|
|
|
|
set timeout 60
|
|
#
|
|
# install package
|
|
#
|
|
send_user "Install Calpont Package on Module "
|
|
send "rpm -ivh $RPMPACKAGE\n"
|
|
expect {
|
|
-re "completed" { send_user "DONE" }
|
|
-re "ERROR dependencies" { send_user "ERROR: ERROR dependencies\n" ;
|
|
send_user "\n*** Installation ERROR\n" ;
|
|
exit -1 }
|
|
-re "error" { send_user "ERROR\n" ;
|
|
send_user "\n*** Installation ERROR\n" ;
|
|
exit -1 }
|
|
}
|
|
expect -re "# "
|
|
log_user 0
|
|
exec mv -f $INSTALLDIR/etc/Columnstore.xml $INSTALLDIR/etc/Columnstore.xml.new > /dev/null 2>&1
|
|
exec mv -f $CONFIGFILE $INSTALLDIR/etc/Columnstore.xml > /dev/null 2>&1
|
|
|
|
send_user "\n"
|
|
set timeout 380
|
|
#
|
|
# Run installer
|
|
#
|
|
send_user "Run System Installer "
|
|
send "$INSTALLDIR/bin/installer $RPMPACKAGE initial $PASSWORD n 0\n"
|
|
expect {
|
|
-re "reboot request successful" { }
|
|
-re "error" { send_user "FAILED" ; exit -1 }
|
|
}
|
|
|
|
send_user "\nCalpont RPM System Install Completed, System now rebooting\n\n"
|
|
|
|
exit 0
|