From 29ec8f8473c5e384a8feaddf61dee68b39d069d6 Mon Sep 17 00:00:00 2001 From: Ramez Hanna Date: Wed, 31 Aug 2011 00:20:09 +0200 Subject: lxc-fedora.in * if not running on fedora host amd -R is not set, use fedora 14 as default * trap SIGHUP SIGINT SIGTERM, and cleanup before exiting Signed-off-by: Daniel Lezcano --- templates/lxc-fedora.in | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/templates/lxc-fedora.in b/templates/lxc-fedora.in index c166efb..48cb1c0 100644 --- a/templates/lxc-fedora.in +++ b/templates/lxc-fedora.in @@ -316,8 +316,7 @@ if [ -z "$release" ]; then if [ "$is_fedora" ]; then release=$(cat /etc/fedora-release |awk '/^Fedora/ {print $3}') else - echo "This is not a fedora host and release missing, use -R|--release to specify release" - exit 1 + echo "This is not a fedora host and release missing, defaulting to 14. use -R|--release to specify release" fi fi @@ -326,6 +325,7 @@ if [ "$(id -u)" != "0" ]; then exit 1 fi + rootfs_path=$path/$name/rootfs config_path=$default_path/$name cache=$cache_base/$release @@ -335,6 +335,25 @@ if [ -f $config_path/config ]; then exit 1 fi +revert() +{ + echo "Interrupted, so cleaning up" + lxc-destroy -n $name + # maybe was interrupted before copy config + rm -rf $path/$name + rm -rf $default_path/$name + echo "exiting..." + exit 1 +} + +trap revert SIGHUP SIGINT SIGTERM + +copy_configuration +if [ $? -ne 0 ]; then + echo "failed write configuration file" + exit 1 +fi + install_fedora if [ $? -ne 0 ]; then echo "failed to install fedora" @@ -347,11 +366,6 @@ if [ $? -ne 0 ]; then exit 1 fi -copy_configuration -if [ $? -ne 0 ]; then - echo "failed write configuration file" - exit 1 -fi if [ ! -z $clean ]; then clean || exit 1 -- cgit v1.2.3-65-gdbad