Subversion Repositories SmartDukaan

Rev

Rev 8576 | Rev 8827 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4851 rajveer 1
#!/bin/bash
2
 
3
if [ $# -ne 1 ]
4
then
5
	echo "Usage: $0 <UPDATE|ROLLBACK>"
6
	exit 1
7
fi
8
 
9
ACTION=$1
10
if [ $ACTION != "UPDATE" -a $ACTION != "ROLLBACK" ]
11
then
12
	echo "Wrong input"
13
	echo "Usage: $0 <UPDATE|ROLLBACK>"
14
	exit 1
15
fi
16
 
5103 mandeep.dh 17
PROD_SERVERS="prod1 prod3 prod2"
5480 amit.gupta 18
MAVEN_REPO="${HOME}/.m2/repository"
8246 amit.gupta 19
M2_CLASSPATH="${MAVEN_REPO}/in/shop2020/ContentStore/1.0-SNAPSHOT/ContentStore-1.0-SNAPSHOT.jar:${MAVEN_REPO}/in/shop2020/ThriftConfig/1.0-SNAPSHOT/ThriftConfig-1.0-SNAPSHOT.jar:${MAVEN_REPO}/in/shop2020/Common/1.0-SNAPSHOT/Common-1.0-SNAPSHOT.jar:${MAVEN_REPO}/readonly/apache/velocity/1.6.3/velocity-1.6.3.jar:${MAVEN_REPO}/readonly/apache/commons-lang/2.4/commons-lang-2.4.jar:${MAVEN_REPO}/readonly/apache/commons-collections/3.2.1/commons-collections-3.2.1.jar:${MAVEN_REPO}/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.0.jar:${MAVEN_REPO}/readonly/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar:${MAVEN_REPO}/readonly/slf4j/slf4j-simple/1.5.8/slf4j-simple-1.5.8.jar:${MAVEN_REPO}/readonly/apache/commons-logging-api/1.1/commons-logging-api-1.1.jar:${MAVEN_REPO}/readonly/bdb/je/4.1.7/je-4.1.7.jar:${MAVEN_REPO}/readonly/jython/2.5.1/jython-2.5.1.jar:${MAVEN_REPO}/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:${MAVEN_REPO}/readonly/apache/commons-io/1.3.2/commons-io-1.3.2.jar:${MAVEN_REPO}/org/json/json/20090211/json-20090211.jar:${MAVEN_REPO}/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar:${MAVEN_REPO}/com/google/code/gson/gson/1.6/gson-1.6.jar:${MAVEN_REPO}/javax/mail/mail/1.4/mail-1.4.jar:${MAVEN_REPO}/readonly/apache/poi-3.6/20091214/poi-3.6-20091214.jar:${MAVEN_REPO}/readonly/apache/poi-scratchpad-3.6/20091214/poi-scratchpad-3.6-20091214.jar:${MAVEN_REPO}/commons-net/commons-net/3.0.1/commons-net-3.0.1.jar:${MAVEN_REPO}/junit/junit/4.8.2/junit-4.8.2.jar:${MAVEN_REPO}/commons-vfs/commons-vfs/1.0/commons-vfs-1.0.jar:${MAVEN_REPO}/com/jcraft/jsch/0.1.31/jsch-0.1.31.jar"
5480 amit.gupta 20
LOG_DIR="/var/log/content-generation"
21
PRICES_AND_AVAILABILITY_LOG="${LOG_DIR}/prices-and-availability.log"
4851 rajveer 22
STATIC_SERVERS="static0 static1"
23
DB_SERVER="192.168.190.114"
5273 amar.kumar 24
TEST_SERVER="192.168.141.43"
4908 rajveer 25
STATUS=0
8576 amit.gupta 26
 
27
 
28
# resolve links - $0 may be a softlink
29
PRG="$0"
30
 
31
while [ -h "$PRG" ]; do
32
  ls=`ls -ld "$PRG"`
33
  link=`expr "$ls" : '.*-> \(.*\)$'`
34
  if expr "$link" : '/.*' > /dev/null; then
35
    PRG="$link"
36
  else
37
    PRG=`dirname "$PRG"`/"$link"
38
  fi
39
done
40
# Get standard environment variables
41
PRGDIR=`dirname $(readlink -f "$PRG")`
42
STATUS_CATALOG_GENERATION=`cat $PRGDIR/status.txt`
43
 
44
if [ $STATUS_CATALOG_GENERATION -eq 1 ]; then
45
	sendEmail -f build@shop2020.in -t rajveer.singh@shop2020.in amit.gupta@shop2020.in -u "Imp: CATALOG GENERATION FAILED" -s smtp.gmail.com:587  -xu build@shop2020.in  -xp cafe@nes -o tls=yes
46
	exit 1
47
 
48
fi 
49
 
50
 
4851 rajveer 51
for PROD_SERVER in ${PROD_SERVERS}
52
do
53
	echo "Updating content on : ${PROD_SERVER}\n"
54
	echo "Stopping apache on server"
55
	ssh ${PROD_SERVER} "/etc/init.d/apache2 stop"
56
	echo "Stopped apache on server"
57
 
5103 mandeep.dh 58
	echo "Executing command below on server"	
4851 rajveer 59
	#echo ssh ${PROD_SERVER} "/root/code/trunk/runutils/update-content-and-catalog.sh $ACTION $DB_SERVER"
60
	ssh ${PROD_SERVER} "/root/code/trunk/runutils/update-content-and-catalog.sh $ACTION $DB_SERVER"
4908 rajveer 61
	STATUS=$(($STATUS+$?))
5103 mandeep.dh 62
    echo "Status for ${PROD_SERVER} is ${STATUS}"
4851 rajveer 63
	DB_SERVER=""
64
	echo "Content updated on production server ${PROD_SERVER}"
65
 
66
	echo "Starting apache on server"
67
	ssh ${PROD_SERVER} "/etc/init.d/apache2 start"
68
	echo "Starting apache on server"
69
done
70
 
71
 
72
for STATIC_SERVER in ${STATIC_SERVERS}
73
do
74
	echo "Updating content on : ${STATIC_SERVER}\n"
75
	ssh ${STATIC_SERVER} "/root/code/trunk/runutils/update-static-content.sh $ACTION"
76
	echo "Content updated on static server ${STATIC_SERVER}"
77
done
4908 rajveer 78
 
79
if [ $ACTION = "UPDATE" -a $STATUS -ne 0 ]
80
then
5104 mandeep.dh 81
    echo "Update failed.\n"
82
#	/code/trunk/runutils/ContentUpdationManager.sh ROLLBACK
5480 amit.gupta 83
else
84
    echo "====================="
85
    echo "Generating and Junglee Prices and Availability Uploading to FTP site."
86
    java -cp ${M2_CLASSPATH}  in.shop2020.util.AmazonSCDataGenerator > ${PRICES_AND_AVAILABILITY_LOG}  
87
    echo "====================="
4908 rajveer 88
fi
5273 amar.kumar 89
 
8753 amit.gupta 90
echo "Sleeping for 10 minutes before running tests"
91
sleep 10m;
5273 amar.kumar 92
echo "Starting test on Production Servers"
93
echo "========================="
8753 amit.gupta 94
ssh cs2 "cd /opt/seleniumTests/;./seleniumTestks.sh prodDeploy >> /opt/seleniumTests/prodtest.log 2>&1"
95
 
96