Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.66 KB | None | 0 0
  1. #!/bin/bash -x
  2. # $STORAGE_ACCOUNT_SECRET -- Amazon WS credential: secret access key
  3. # $STORAGE_ACCOUNT_ID     -- Amazon WS credential: access key
  4.  
  5. # check if /mnt/solr volume exists
  6. if [ ! -d /mnt/solr ]
  7. then
  8.   echo "/mnt/solr not ready"
  9.   exit 1
  10. fi
  11.  
  12. ubuntu_version=`cat /etc/os-release | grep VERSION_ID | cut -d '=' -f2 | cut -d '.' -f1 | sed 's/"//g'`
  13.  
  14. if [ $ubuntu_version -lt 16 ]
  15. then
  16.         service_cmd="service tomcat7"
  17.     tomcat_home="/var/lib/tomcat7"
  18.     tomcat_user="tomcat7"
  19.     catalina_file="/etc/default/tomcat7"
  20. else
  21.         service_cmd="service tomcat"
  22.     tomcat_home="/opt/tomcat"
  23.     tomcat_user="tomcat"
  24.     catalina_file="/opt/tomcat/bin/setenv.sh"
  25. fi
  26.  
  27.  
  28. echo "Stopping tomcat for deployment"
  29. eval "$service_cmd stop"
  30.  
  31. echo "Stopping indexing for deployment"
  32. mv /etc/cron.d/linko-sync /mnt/solr/linko-sync
  33.  
  34. pushd /mnt/solr
  35.  
  36. # Set files to download based on naming and version number
  37. solr_pkg=osp-se-solr-config-$OSP_VERSION.tar.gz
  38. webservice_pkg=osp-se-webservice-$OSP_VERSION.war
  39. webservice_app=$TOMCAT_WEBAPPS_ROOT/$CONTEXT_NAME
  40. indexer_pkg=osp-se-indexer-$OSP_VERSION.tar.gz
  41. indexer_conf=osp-se-indexer-$OSP_VERSION-conf-data.tar.gz
  42.  
  43. # Make sure old files are removed
  44. rm -f osp-se-*
  45. rm -f log4j.xml
  46.  
  47. # download files from S3 bucket
  48. echo "Downloading $solr_pkg..."
  49. /usr/bin/s3cmd get s3://$S3_BUCKET_NAME/Linko/$solr_pkg /mnt/solr/$solr_pkg
  50. echo "Downloading $webservice_pkg..."
  51. /usr/bin/s3cmd get s3://$S3_BUCKET_NAME/Linko/$webservice_pkg /mnt/solr/$webservice_pkg
  52. echo "Downloading $indexer_pkg..."
  53. /usr/bin/s3cmd get s3://$S3_BUCKET_NAME/Linko/$indexer_pkg /mnt/solr/$indexer_pkg
  54. echo "Downloading $indexer_conf..."
  55. /usr/bin/s3cmd get s3://$S3_BUCKET_NAME/Linko/$indexer_conf /mnt/solr/$indexer_conf
  56. echo "Downloading log4j.xml..."
  57. /usr/bin/s3cmd get s3://$S3_BUCKET_NAME/Linko/log4j.xml /mnt/solr/log4j.xml
  58.  
  59. for source_file in $solr_pkg $webservice_pkg $indexer_pkg $indexer_conf log4j.xml
  60. do
  61.   if [ ! -f "$source_file" ]; then
  62.     echo "The $source_file is missing from the $S3_BUCKET_NAME/Linko"
  63.     exit 404
  64.   fi
  65. done
  66.  
  67.  
  68. # Clean old application files
  69. echo "Cleaning multicore..."
  70. rm -rf multicore
  71.  
  72. echo "Cleaning indexer..."
  73. rm -rf indexer/lib
  74. rm -rf indexer/data
  75.  
  76. mkdir -p indexer/lib indexer/data
  77.  
  78. echo "Undeploying webservice..."
  79. rm -rf $webservice_app
  80. rm -rf ${webservice_app}.war
  81.  
  82.  
  83. # Install new application files
  84. echo "Installing SOLR core..."
  85. tar xzvf $solr_pkg
  86. rm -f $solr_pkg
  87.  
  88. echo "Placing LOG4J in tomcat conf directory"
  89. mv log4j.xml $tomcat_home/conf/
  90. chown $tomcat_user:$tomcat_user $tomcat_home/conf/log4j.xml
  91.  
  92. echo "Installing indexer..."
  93. tar xzvf $indexer_pkg --strip=2
  94. tar xzvf $indexer_conf --strip=2
  95. rm -f $indexer_pkg $indexer_conf
  96.  
  97.  
  98. # remove all mac files, if there are any
  99. find . -type f -name ._\* -exec rm {} \;
  100.  
  101. # Change owner
  102. chown -R $tomcat_user:$tomcat_user /mnt/solr/
  103.  
  104.  
  105. # Indexer fixes
  106. echo "Applying indexer fixes..."
  107.  
  108. # correct tomcat port and adds path
  109. #echo "Modifying tomcat ports and paths for indexer"
  110. #sed -i "s|8080|$HTTP_PORT\/osp-se|g" /mnt/solr/indexer/conf/application.properties
  111. #sed -i "s|8080|$HTTP_PORT|g" /mnt/solr/indexer/bin/update_deals.py
  112.  
  113. # Change script permissions to allow execution
  114. echo "Setting indexer bin execute permissions"
  115. chmod +x /mnt/solr/indexer/bin/*
  116.  
  117. # Add system variables to script and remove known host prompt from sync_amdata.sh
  118. echo "Fixing Indexer sync and indexing scripts"
  119. #sed -i 's/^PROJECT_DIR=.*/export PROJECT_DIR=\/mnt\/solr\/indexer/' /mnt/solr/indexer/bin/sync_amdata.sh
  120. #sed -i 's/^DATA_DIR=.*/export DATA_DIR=\/mnt\/solr\/datafeed/' /mnt/solr/indexer/bin/sync_amdata.sh
  121. #sed -i "/^export DATA_DIR=.*/a export JAVA_HOME=$JAVA_HOME/" /mnt/solr/indexer/bin/sync_amdata.sh
  122. #sed -i 's/scp\ -i/scp\ -o\ StrictHostKeyChecking=no\  -i/' /mnt/solr/indexer/bin/sync_amdata.sh
  123.  
  124. sed -i 's/^DATA_DIR=/export DATA_DIR=/' /mnt/solr/indexer/bin/start-indexer-linko.sh
  125. sed -i 's/^PROJECT_DIR=.*/export PROJECT_DIR=\/mnt\/solr\/indexer/' /mnt/solr/indexer/bin/start-indexer-linko.sh
  126. sed -i "/^export DATA_DIR=.*/a export JAVA_HOME=$JAVA_HOME/" /mnt/solr/indexer/bin/start-indexer-linko.sh
  127.  
  128. sed -i "s/^export LINKO=.*/export LINKO=$LINKO_ENV/" /mnt/solr/indexer/bin/sync_ypdata.sh
  129. sed -i "s|^#export DCOSP_SERVICE_URL=.*|export DCOSP_SERVICE_URL=$DCOSP_SERVICE_URL|" /mnt/solr/indexer/bin/sync_ypdata.sh
  130.  
  131. # Install correct New Relic Key and set App Name
  132. echo "Configuring Indexer New Relic"
  133. sed -i "s/license_key: '.*'/license_key: '$NR_LICENCE'/" /mnt/solr/indexer/bin/newrelic/newrelic.yml
  134. sed -i "s|^\s*app_name.*|  app_name: '$ENV_NAME-$DEPLOYMENT_CONTEXT-Indexer'|g" /mnt/solr/indexer/bin/newrelic/newrelic.yml
  135.  
  136.  
  137. echo "Installing webservice..."
  138. mv $webservice_pkg ${webservice_app}.war
  139.  
  140. popd
  141.  
  142. # Apply any New Relic changes to base install
  143. pushd /var/lib
  144. sed -i "s|license_key:.*|license_key: '$NR_LICENCE'|g" newrelic/newrelic.yml
  145. sed -i "s|app_name:.*|app_name: '$NR_APPNAME'|g" newrelic/newrelic.yml
  146. popd
  147.  
  148. # Apply any New Relic changes to tomcat
  149. sed -i "s|^\s*app_name.*|  app_name: '$NR_APPNAME'|g" /var/lib/newrelic/tomcat/newrelic.yml
  150.  
  151. # Apply tomcat configuration changes
  152. sed -i "s|CATALINA_OPTS.*|CATALINA_OPTS=\"-javaagent:/var/lib/newrelic/tomcat/newrelic.jar -$JAVA_XMX -$JAVA_XMS\"|" $catalina_file
  153.  
  154. # Restart tomcat and restore indexing
  155. echo "Starting tomcat..."
  156. eval "$service_cmd restart"
  157.  
  158. # Make sure webservice deployed
  159. sleep 60
  160.  
  161. # Check that the exploded war file is there.
  162. if [ ! -d "$webservice_app" ]; then
  163.   echo "something went wrong with the war deployment";
  164.   exit 1
  165. fi
  166.  
  167. echo "Re-enabling indexing crontasks..."
  168. mv /mnt/solr/linko-sync /etc/cron.d/linko-sync
  169. chown root:root /etc/cron.d/linko-sync
  170.  
  171.  
  172. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement