1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-20 01:42:27 +03:00
Files
mariadb-columnstore-engine/tools/configMgt/autoPackager
2016-01-06 14:08:59 -06:00

110 lines
2.8 KiB
Plaintext

#!/usr/bin/expect
#
# $Id: autoPackager.sh 421 2007-04-05 15:46:55Z dhill $
#
# Remote command execution script to another server
set USERNAME root
set PASSWORD Calpont1
set RELEASE ""
set PKGSERVER srvdeb5
set OLD "n"
log_user 0
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 "'autoPackager' generates a packages based on the set of RPMs\n"
send_user "in the calweb/iterations branch.\n"
send_user "It will place the packages in //calweb/shared/Iterations/Latest/packages\n"
send_user "and in //calweb/shared/Iterations/'release'/packages when specified\n"
send_user "\n"
send_user "Usage: autoPackage -r 'release' -o\n"
send_user " release - Calpont release number\n"
send_user " -o - Build Old Calpont Packages\n"
exit
}
if { $arg($i) == "-r" } {
incr i
set RELEASE $arg($i)
}
if { $arg($i) == "-o" } {
set OLD "y"
}
incr i
}
if { $RELEASE == "" } {
send_user "\nError: provide a release number with -r option\n"
exit 1
}
set PKGCOMMAND "'/root/autoOAM/buildCalpontPackages.sh $RELEASE'"
if { $OLD == "n"} {
set PKGCOMMAND "'/root/autoOAM/buildInfiniDBPackages.sh $RELEASE'"
}
set timeout 3700
#
# send command to build calpont rpms
#
#get current date
exec date >/tmp/datesync.tmp
exec cat /tmp/datesync.tmp
set newtime [exec cat /tmp/datesync.tmp]
send_user "\nStart Time: $newtime\n"
log_user 1
set timeout 900
#
# send command to build calpont packages
#
if { $OLD == "n"} {
send_user "\nGenerating 4.x INFINIDB Packages takes 15 minutes to complete, please wait...\n"
} else {
send_user "\nGenerating 3.x CALPONT Packages takes 15 minutes to complete, please wait...\n"
}
log_user 0
send "ssh $USERNAME@$PKGSERVER $PKGCOMMAND\n"
expect {
-re "authenticity" { send "yes\n"
expect {
-re "word: " { send "$PASSWORD\n" } abort
}
}
-re "service not known" { send_user "FAILED: Invalid Host\n" ; exit -1 }
-re "Connection refused" { send_user "FAILED: Connection refused\n" ; exit -1 }
-re "word: " { send "$PASSWORD\n" } abort
}
log_user 1
expect {
-re "TIMEOUT" { send_user "Calpont Packages Build Failed, timeout" } abort
timeout { send_user "Calpont Packages Build Failed, timeout" } abort
-re "No such file" { send_user "$COMMAND file not found" } abort
-re "no rpm" { send_user "Calpont Packages Build Failed, check build log files" } abort
-re "Calpont Packages Build Successfully Completed" { send_user "Calpont Packages Successfully Completed" } abort
}
#get current date
exec date >/tmp/datesync.tmp
exec cat /tmp/datesync.tmp
set newtime [exec cat /tmp/datesync.tmp]
send_user " $newtime\n"
file delete -force $RELEASE
send_user "\nBuild-Packaging successfully completed\n"
exit 0