lxc-destroy container only if it is in the STOPPED state

Currently, lxc-destory will attempt to destroy a container if it is not in
the RUNNING state, but doing so is not good when the container is FROZEN, or
in other transitional states.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Dwight Engen 2012-12-18 16:12:34 -05:00 committed by Stéphane Graber
parent 56655134e4
commit 963aef6f7f

View File

@ -94,14 +94,14 @@ if [ ! -d "$lxc_path/$lxc_name" ]; then
exit 1
fi
# make sure the container isn't running
lxc-info -n $lxc_name 2>/dev/null | grep -q RUNNING
if [ $? -eq 0 ]; then
# make sure the container is stopped
state=`lxc-info -n $lxc_name 2>/dev/null | head -1 |awk '{print $2}'`
if [ $state != "STOPPED" ]; then
if [ $force -eq 1 ]; then
lxc-stop -n $lxc_name
lxc-wait -n $lxc_name -s STOPPED
else
echo "$(basename $0): '$lxc_name' is running; aborted" >&2
echo "$(basename $0): '$lxc_name' is $state; aborted" >&2
exit 1
fi
fi