#!/bin/bash

# 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.

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

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

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

echo
echo '          <<< Containers >>>'
for i in `lsdir /etc/lxcf/rsc`
do
  if [ -e /etc/lxcf/rsc/${i}/uuid ]; then
	LSTATE=`LANG=C /usr/bin/virsh -c lxc:/// list | /usr/bin/awk '($2 == "'${i}'"){print $3}'`
	if [ -z "${LSTATE}"  ]; then
		LSTATE="stopped";
	fi
	cat /etc/lxcf/rsc/${i}/uuid
	echo " "$i ${LSTATE}
  fi
done
echo

echo '          <<< JOB under execution >>>'
flock /var/lib/lxcf/exjob awk '{printf "%s %s %s %s\n", $2,$3,$4,$5}' /var/lib/lxcf/exjob 
echo

echo '          *** H-QUEUE ***'
flock /var/lib/lxcf/hqueue cat /var/lib/lxcf/hqueue

echo '          *** Q-QUEUE ***'
flock /var/lib/lxcf/qqueue cat /var/lib/lxcf/qqueue

echo '          *** L-QUEUE ***'
flock /var/lib/lxcf/lqueue cat /var/lib/lxcf/lqueue

exit 0
