#!/bin/bash

version=$1
ctl_ip=`cat /usr/local/zjmf/conf/zjmf.conf |grep "ip=" |awk -F "=" '{print $2}'`

http_server='http://{mirror1.cloud.idcsmart.com,mirror2.cloud.idcsmart.com,mirror.cloud.idcsmart.com}/cloud/compute'
rm -rf /home/zjmf/download/compute/*
mkdir -p /home/zjmf/download/compute
echo "version=$version" > /home/zjmf/download/upgrade.txt
ping -c 1 -w 1 mirror1.cloud.idcsmart.com > /dev/null 2>&1
if [ $? -ne 0 ];then
	ping -c 1 -w 1 mirror2.cloud.idcsmart.com > /dev/null 2>&1
	if [ $? -ne 0 ];then
		ping -c 1 -w 1 mirror.cloud.idcsmart.com > /dev/null 2>&1
		if [ $? -ne 0 ];then
      ping -c 1 -w 1 $ctl_ip > /dev/null 2>&1
      if [ $? -ne 0 ];then
			  echo "stauts=update server and ctl not connected" >> /home/zjmf/download/upgrade.txt
			  exit
			else
			  http_server="https://$ctl_ip:4431/update"
			fi
		fi
	fi
fi
aria2c -x 5 -k 1M --check-certificate=false -c -P ${http_server}/$version.tar.gz -d /home/zjmf/download/compute
supervisorctl stop api-compute
supervisorctl stop ksmtuned
supervisorctl stop api-go
cd /home/zjmf/download/compute
tar xf $version.tar.gz
rm -rf zjmf/conf/*
\cp -r zjmf/* /usr/local/zjmf
chmod +x /usr/local/zjmf/cloud/network/*.py
chmod +x /usr/local/zjmf/cloud/*.py
chown -R qemu.qemu /usr/local/zjmf
sleep 1
if [ `lsof -i :4433 |awk '{print $2}' |grep -vi pid |uniq |wc -l` -ne 0 ];then
  for i in `lsof -i :4433 |awk '{print $2}' |grep -vi pid |uniq`;do
    kill -9 $i
  done
fi
sleep 1
supervisorctl start api-compute
supervisorctl start ksmtuned
supervisorctl start api-go

if [ -f "zjmf/update_scripts.sh" ];then
	/bin/bash zjmf/update_scripts.sh
fi

echo "status=success" >> /home/zjmf/download/upgrade.txt
rm -rf /home/zjmf/download/compute