2 # copyright (C) 2013-2014 FUJITSU LIMITED All Rights Reserved
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; version 2
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 if [ ${EUID:-${UID}} != 0 ]; then
21 echo "error: Because you are not root, you cannot execute this command. "
28 while getopts q OPT ; do
35 if [ $FLG_Q -eq 1 ]; then
36 exec /usr/lib64/lxcf/lxcf-queue-list $*
42 LNAME=`cut -d ' ' -f 1 /etc/lxcf/rsc/${LXCNAME}/container_name`
43 LMODEL=`cut -d ' ' -f 2 /etc/lxcf/rsc/${LXCNAME}/container_name`
44 LSTATE=`LANG=C /usr/bin/virsh -c lxc:/// list | /usr/bin/awk '($2 == "'${LXCNAME}'"){print $3}'`
45 if [ -z "${LSTATE}" ]; then
48 if [ -f /etc/lxcf/rsc/${LXCNAME}/autostart ]; then
53 LPATH=`readlink -f /opt/lxcf/${LXCNAME}`
54 printf "%s\t\t%s \t%s\t %s\t %s\n" ${LNAME} ${LMODEL} ${LSTATE} ${AUTOSTART} ${LPATH}
59 ls -f --ind=none $1 | sed '/^\.\{1,2\}$/d'
63 # When uuid is specified, the container name is returned.
66 if [ -d /opt/lxcf/${NAME} ]; then
70 for i in `lsdir /etc/lxcf/rsc`
72 if [ x$NAME == x`cat /etc/lxcf/rsc/${i}/uuid` ]; then
80 printf "Name\t\tMode \tState\t Autostart Path\n"
81 echo "-------------------------------------------------------------------------"
83 if [ $# -eq 0 ] ; then
84 for LXCNAME in `ls -1 /opt/lxcf/`
86 # Correspondence to interchangeability with old release
87 if [ ! -f /etc/lxcf/rsc/${LXCNAME}/container_name ]; then
88 cp -p /opt/lxcf/${LXCNAME}/etc/lxcf/container_name \
89 /etc/lxcf/rsc/${LXCNAME}/container_name
92 if [ -e /etc/lxcf/rsc/${LXCNAME}/container_name ] ; then
99 LXCNAME=`uuid2name $LXCNAME`
100 if ! /usr/lib64/lxcf/lxcf-parmchk-cname $LXCNAME ; then
101 echo "error:" $LXCNAME "is not a container name"
102 echo " The container name must be alphanumeric character, \"-\", and \"_\"."
106 if [ ! -e /opt/lxcf/${LXCNAME} ] ; then
107 echo "error:" $LXCNAME "is the unknown container name"
111 # Correspondence to interchangeability with old release
112 if [ ! -f /etc/lxcf/rsc/${LXCNAME}/container_name ]; then
113 cp -p /opt/lxcf/${LXCNAME}/etc/lxcf/container_name \
114 /etc/lxcf/rsc/${LXCNAME}/container_name
117 if [ -e /etc/lxcf/rsc/${LXCNAME}/container_name ] ; then