[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