On 11/30/2012 05:23 PM, Natanael Copa wrote: > On Fri, 30 Nov 2012 17:01:59 -0500 > Stéphane Graber <stgra...@ubuntu.com> wrote: > >> 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 <stgra...@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 > > if [ -x "$lxc_template" ]; then > > other wise will posix shell barf if $lxc_template is empty.
Yeah, I spotted those and noticed quite a few more bashisms so I just kept the current "style" to minimize the diff and assumed that this would be fixed with your effort of getting everything actually posix-compliant :) >> + 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 > > Same here. Do: > 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 > > I'm not sure this is ok. I'd do: > > if [ $# -gt 0 ]; then > >> + echo "# Parameters passed to the template: $*" >> > > 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 > -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel