[lxc-devel] [PATCH 1/1] lxc-create: cleanup whenever exiting with error

Stéphane Graber stgraber at ubuntu.com
Wed Apr 24 23:34:13 UTC 2013


On 04/24/2013 10:16 PM, Serge Hallyn wrote:
> Otherwise we leave bad containers sitting around and further confuse
> things on retries.
> 
> Reported-by: Mukanyiligira Didacienne <siyana223 at gmail.com>
> Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
> ---
>  src/lxc/lxc-create.in | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/src/lxc/lxc-create.in b/src/lxc/lxc-create.in
> index fbb566f..553ffd2 100644
> --- a/src/lxc/lxc-create.in
> +++ b/src/lxc/lxc-create.in
> @@ -286,7 +286,7 @@ fi
>  
>  if [ ! -r "$lxc_config" ]; then
>      echo "$(basename $0): '$lxc_config' configuration file not found" >&2
> -    exit 1
> +    cleanup
>  fi

Isn't this test before the one for already existing containers and so
would lead to a lxc-destroy of the existing container?

>  if [ ! -z "$lxc_template" ]; then
> @@ -317,11 +317,11 @@ echo "" >> $lxc_path/$lxc_name/config
>  if [ -n "$custom_rootfs" ]; then
>      if grep -q "lxc.rootfs" $lxc_path/$lxc_name/config ; then
>          echo "configuration file already specifies a lxc.rootfs"
> -        exit 1
> +        cleanup
>      fi
>      if [ -d "$custom_rootfs" ]; then
>          echo "specified rootfs ($custom_rootfs) already exists.  Bailing."
> -        exit 1
> +        cleanup
>      fi
>      echo "lxc.rootfs = $custom_rootfs" >> $lxc_path/$lxc_name/config
>  fi
> @@ -329,9 +329,9 @@ fi
>  # Create the fs as needed
>  if [ "$backingstore" = "lvm" ]; then
>      [ -d "$rootfs" ] || mkdir $rootfs
> -    lvcreate -L $fssize -n $lvname $vgname || exit 1
> +    lvcreate -L $fssize -n $lvname $vgname || cleanup
>      udevadm settle
> -    mkfs -t $fstype $rootdev || exit 1
> +    mkfs -t $fstype $rootdev || cleanup
>      mount -t $fstype $rootdev $rootfs
>  fi
>  
> 


-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130425/84b59b38/attachment.pgp>


More information about the lxc-devel mailing list