This commit is contained in:
Charles N Wyble - admin 2018-01-24 21:14:34 -06:00
parent 34304f9d76
commit 96473af4c8

View File

@ -1,103 +1,103 @@
#!/bin/bash #!/bin/bash
#TSYS Slack installer #TSYS Slack installer
#Use as a reference for other TSYS scripts #Use as a reference for other TSYS scripts
####################################################################################################################################################### #######################################################################################################################################################
#Global variables #Global variables
####################################################################################################################################################### #######################################################################################################################################################
export MGMT_INT="$(netstat -rn |grep 0.0.0.0|awk '{print $NF}' |head -n1 )" export MGMT_INT="$(netstat -rn |grep 0.0.0.0|awk '{print $NF}' |head -n1 )"
export ENVIP="$(echo $MGMT_IP|awk -F '.' '{print $2}')" export ENVIP="$(echo $MGMT_IP|awk -F '.' '{print $2}')"
export DIST_SERVER="http://tsys-techops.turnsys.net/" export DIST_SERVER="http://tsys-techops.turnsys.net/"
export DIST_ROOT_PATH="slack-dist" export DIST_ROOT_PATH="slack-dist"
####################################################################################################################################################### #######################################################################################################################################################
#Execution begins #Execution begins
####################################################################################################################################################### #######################################################################################################################################################
####################################################################################################################################################### #######################################################################################################################################################
#Step 1. determine server type and site #Step 1. determine server type and site
####################################################################################################################################################### #######################################################################################################################################################
#Will be useful later when we have fleets of kvm/lxc etc machines, commented out for now. #Will be useful later when we have fleets of kvm/lxc etc machines, commented out for now.
#if [ $(hostname -s|egrep -i -c -E 'ts|ts[0-9]|ts[0-9][0-9]|ts[0-9][0-9][0-9]|linux') -eq 1 ]; then #if [ $(hostname -s|egrep -i -c -E 'ts|ts[0-9]|ts[0-9][0-9]|ts[0-9][0-9][0-9]|linux') -eq 1 ]; then
#export server_type=ts #export server_type=ts
#fi #fi
#if [ $(hostname -s|egrep -c -E 'cvm') -eq 1 ]; then #if [ $(hostname -s|egrep -c -E 'cvm') -eq 1 ]; then
#export server_type=cvm #export server_type=cvm
#fi #fi
case $server_type in case $server_type in
ts) ts)
export SERVER_TYPE="ts" export SERVER_TYPE="ts"
;; ;;
cvm) cvm)
export SERVER_TYPE="cvm" export SERVER_TYPE="cvm"
;; ;;
bvm) bvm)
export SERVER_TYPE="bvm" export SERVER_TYPE="bvm"
;; ;;
*) *)
export SERVER_TYPE="prod" export SERVER_TYPE="prod"
;; ;;
esac esac
case $ENVIP in case $ENVIP in
253) 253)
export SITE="ovh" export SITE="ovh"
;; ;;
251) 251)
export SITE="aus" export SITE="aus"
;; ;;
40) 40)
export SITE="satx" export SITE="satx"
;; ;;
*) *)
esac esac
####################################################################################################################################################### #######################################################################################################################################################
#Step 2: Fixup the /etc/hosts file #Step 2: Fixup the /etc/hosts file
####################################################################################################################################################### #######################################################################################################################################################
#Static /etc/hosts bits #Static /etc/hosts bits
cat > /etc/hosts << HOSTFILESTATIC cat > /etc/hosts << HOSTFILESTATIC
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
HOSTFILESTATIC HOSTFILESTATIC
#Dynamic /etc/hosts bits #Dynamic /etc/hosts bits
cat >> /etc/hosts <<HOSTFILEDYNAMIC cat >> /etc/hosts <<HOSTFILEDYNAMIC
127.0.1.1 $(hostname) $(hostname -s) 127.0.1.1 $(hostname) $(hostname -s)
$MGMT_IP $(hostname) $(hostname -s) $MGMT_IP $(hostname) $(hostname -s)
HOSTFILEDYNAMIC HOSTFILEDYNAMIC
####################################################################################################################################################### #######################################################################################################################################################
#Step 3: Grab slack runtime bits and deploy slack #Step 3: Grab slack runtime bits and deploy slack
####################################################################################################################################################### #######################################################################################################################################################
curl $DIST_SERVER/$DIST_ROOT_PATH/distro > /usr/bin/distro curl $DIST_SERVER/$DIST_ROOT_PATH/distro > /usr/bin/distro
chmod +x /usr/bin/distro chmod +x /usr/bin/distro
apt-get -y install make perl rsync apt-get -y install make perl rsync
mkdir /tmp/slackDist mkdir /tmp/slackDist
wget $DIST_SERVER/$DIST_ROOT_PATH/slackDist.tar.gz -O /tmp/slackDist/slackDist.tar.gz wget $DIST_SERVER/$DIST_ROOT_PATH/slackDist.tar.gz -O /tmp/slackDist/slackDist.tar.gz
cd /tmp/slackDist cd /tmp/slackDist
tar xvfz slackDist.tar.gz tar xvfz slackDist.tar.gz
make install make install
cd /tmp cd /tmp
rm -rf slackDist rm -rf slackDist
mkdir /root/.ssh mkdir /root/.ssh
chmod 700 /root/.ssh chmod 700 /root/.ssh
chown -R root:root /root/.ssh chown -R root:root /root/.ssh
wget $DIST_SERVER/$DIST_ROOT_PATH/env/$SITE/SlackConfig-$SITE-$SERVER_TYPE.config -O /etc/slack.conf wget $DIST_SERVER/$DIST_ROOT_PATH/env/$SITE/SlackConfig-$SITE-$SERVER_TYPE.config -O /etc/slack.conf
wget $DIST_SERVER/$DIST_ROOT_PATH/env/$SITE/SlackSSH-$SITE-$SERVER_TYPE.config -O /root/.ssh/config wget $DIST_SERVER/$DIST_ROOT_PATH/env/$SITE/SlackSSH-$SITE-$SERVER_TYPE.config -O /root/.ssh/config
wget $DIST_SERVER/$DIST_ROOT_PATH/env/$SITE/SlackSSH-$SITE-$SERVER_TYPE.key -O /root/.ssh/SlackSSH-$SITE-$SERVER_TYPE.key wget $DIST_SERVER/$DIST_ROOT_PATH/env/$SITE/SlackSSH-$SITE-$SERVER_TYPE.key -O /root/.ssh/SlackSSH-$SITE-$SERVER_TYPE.key
chmod 400 /root/.ssh/SlackSSH-$SITE-$SERVER_TYPE.key chmod 400 /root/.ssh/SlackSSH-$SITE-$SERVER_TYPE.key
chmod 400 /root/.ssh/config chmod 400 /root/.ssh/config