[lxc-devel] [PATCHv2] lxc-create: Store template information in config

Serge Hallyn serge.hallyn at canonical.com
Mon Dec 3 14:48:50 UTC 2012


Quoting Stéphane Graber (stgraber at ubuntu.com):
> Change lxc-create to add the name of the template, checksum and any
> parameters
> to the container's configuration.
> This makes it easier to debug and figure out exactly how a container was
> built.
> 
> Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

> ---
>  src/lxc/lxc-create.in | 36 +++++++++++++++++++++++-------------
>  1 file changed, 23 insertions(+), 13 deletions(-)
> 
> diff --git a/src/lxc/lxc-create.in b/src/lxc/lxc-create.in
> index 30f0c22..7a50633 100644
> --- a/src/lxc/lxc-create.in
> +++ b/src/lxc/lxc-create.in
> @@ -281,7 +281,29 @@ if [ ! -r "$lxc_config" ]; then
>      exit 1
>  fi
>  -cp $lxc_config $lxc_path/$lxc_name/config
> +# Allow for a path to be provided as the template name
> +if [ -x $lxc_template ]; then
> +    template_path=$lxc_template
> +else
> +    template_path=${templatedir}/lxc-$lxc_template
> +fi
> +
> +if ! [ -x "$template_path" ]; then
> +    echo "$(basename $0): unknown template '$lxc_template'" >&2
> +    cleanup
> +fi
> +
> +if [ ! -z $lxc_template ]; then
> +    sum=$(sha1sum $template_path | cut -d ' ' -f1)
> +    echo "# Template used to create this container: $lxc_template" >>
> $lxc_path/$lxc_name/config
> +    if [ -n "$*" ]; then
> +        echo "# Parameters passed to the template: $*" >>
> $lxc_path/$lxc_name/config
> +    fi
> +    echo "# Checksum of the template script (SHA-1): $sum" >>
> $lxc_path/$lxc_name/config
> +    echo "" >> $lxc_path/$lxc_name/config
> +fi
> +
> +cat $lxc_config >> $lxc_path/$lxc_name/config
>   if [ -n "$custom_rootfs" ]; then
>  	if grep -q "lxc.rootfs" $lxc_path/$lxc_name/config ; then
> @@ -301,18 +323,6 @@ if [ $backingstore = "lvm" ]; then
>  fi
>   if [ ! -z $lxc_template ]; then
> -    # Allow for a path to be provided as the template name
> -    if [ -x $lxc_template ]; then
> -        template_path=$lxc_template
> -    else
> -        template_path=${templatedir}/lxc-$lxc_template
> -    fi
> -
> -    if ! [ -x "$template_path" ]; then
> -        echo "$(basename $0): unknown template '$lxc_template'" >&2
> -        cleanup
> -    fi
> -
>      $template_path --path=$lxc_path/$lxc_name --name=$lxc_name $*
>      if [ $? -ne 0 ]; then
>          echo "$(basename $0): failed to execute template
> '$lxc_template'" >&2
> -- 
> 1.8.0
> 
> 



> ------------------------------------------------------------------------------
> Keep yourself connected to Go Parallel: 
> TUNE You got it built. Now make it sing. Tune shows you how.
> http://goparallel.sourceforge.net

> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel





More information about the lxc-devel mailing list