#!/bin/bash

# Copyright (C) 2015-2016 NIWA Hideyuki

FULCONDRIVER=`fulcon driver-name`
PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH

usage()
{
	echo "usage: update-deploy [ -c NAME ] SRC_FILE DEST_PATH "
}

# check options
OPT_FLG=""
FLG_C=0; CNAME=""

while getopts c: OPT
do
  case $OPT in
    "c" ) FLG_C=1; CNAME=$OPTARG;;
    \?  ) usage; exit -1;;
  esac
done

shift `expr $OPTIND - 1`

if [ $# -ne 2 ]; then
	usage
	exit -1
fi

SRC_FILE=$1
DEST_PATH=$2

STATS=`fulcon list $CNAME | awk '{printf "%s;%s\n",$1,$2}'`

for i in $STATS
do
	NAME=`echo $i | awk '{split($1,a,";");print a[1]}'`
	STATE=`echo $i | awk '{split($1,a,";");print a[2]}'`

	if [ x"$STATE" == x"SUSPENDED" ]; then
		fulcon resume $NAME
	elif [ x"$STATE" == x"STOPPED" ]; then
		fulcon start $NAME
	fi

	lib-update-deploy $NAME $SRC_FILE $DEST_PATH

	if [ x"$STATE" == x"SUSPENDED" ]; then
		fulcon suspend $NAME
	elif [ x"$STATE" == x"STOPPED" ]; then
		fulcon stop $NAME
	fi
done

exit 0


