#!/bin/sh

# LXCF - LXC Facility
# copyright (C) 2014 FUJITSU LIMITED All Rights Reserved

# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2
# of the License.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
# 02110-1301, USA.

LOGFILE="/var/log/lxcf/lxcf-messages"

# check root
if [ ${EUID:-${UID}} != 0 ]; then
    echo "error: Because you are not root, you cannot execute this command. "
    exit 1
fi

# check args
if [ $# -ne 1 ]; then
	echo "usage: lxcf queue start UUID"
	exit 1
fi

UUID=$1

LINE=`egrep -h "^${UUID}" /var/lib/lxcf/* /etc/lxcf/rsc/*/uuid`

if [ $? -eq 1 ]; then
  echo "error: uuid" $UUID "is not exist"
  exit -1
fi

lsdir() {
  ls -f --ind=none $1 | sed '/^\.\{1,2\}$/d'
}

start_container() {
	for i in `lsdir /etc/lxcf/rsc`
	do
		if [ -e /etc/lxcf/rsc/${i}/uuid -a \
		     x${UUID} == x`cat /etc/lxcf/rsc/${i}/uuid` ]; then
			LINE=`echo ${UUID} ${i}`
			/usr/sbin/lxcf start ${i} >> $LOGFILE
		fi
	done
}

TM=`LANG=C date +"%c"`

start_container

flock $LOGFILE echo "###" $TM "STARTED :" $LINE "###" >> $LOGFILE 

echo "Started :" $LINE

exit 0
