[lxc-devel] [PATCH] lxc-create: Require --template be passed

Stéphane Graber stgraber at ubuntu.com
Fri Mar 7 21:29:05 UTC 2014


On Fri, Mar 07, 2014 at 03:21:28PM -0600, Serge Hallyn wrote:
> Quoting Stéphane Graber (stgraber at ubuntu.com):
> > It's often been reported that the behavior of lxc-create without -t is a
> > bit confusing. This change makes lxc-create require the --template
> > option and introduces a new "none" special value which when set will
> > fallback to the old template-less behavior.
> > 
> > Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
> 
> Thanks, I definately like that better than having the act of
> forgetting to specify a template be mistaken for a magic
> special case.
> 
> nit below, but
> 
> Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
> 
> > ---
> >  doc/lxc-create.sgml.in |  1 +
> >  src/lxc/lxc_create.c   | 10 +++++++++-
> >  2 files changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/doc/lxc-create.sgml.in b/doc/lxc-create.sgml.in
> > index 03643c5..1c17c1a 100644
> > --- a/doc/lxc-create.sgml.in
> > +++ b/doc/lxc-create.sgml.in
> > @@ -115,6 +115,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> >  	    for details of the expected script structure.
> >  	    Alternatively, the full path to an executable template script
> >  	    can also be passed as a parameter.
> > +	    "none" can be used to force lxc-create to skip rootfs creation.
> >  	  </para>
> >  	</listitem>
> >        </varlistentry>
> > diff --git a/src/lxc/lxc_create.c b/src/lxc/lxc_create.c
> > index eee6ffd..7de130d 100644
> > --- a/src/lxc/lxc_create.c
> > +++ b/src/lxc/lxc_create.c
> > @@ -132,7 +132,7 @@ static struct lxc_arguments my_args = {
> >  	.progname = "lxc-create",
> >  	.helpfn   = create_helpfn,
> >  	.help     = "\
> > ---name=NAME [-w] [-r] [-t template] [-P lxcpath]\n\
> > +--name=NAME -t template [-w] [-r] [-P lxcpath]\n\
> >  \n\
> >  lxc-create creates a container\n\
> >  \n\
> > @@ -203,6 +203,14 @@ int main(int argc, char *argv[])
> >  		exit(1);
> >  	lxc_log_options_no_override();
> >  
> > +	if (!my_args.template) {
> 
> 	Oh you went SO far over 80 chars you can't even hear us yelling
> 	at you to come back.

I'll make that two fprintf calls instead ;)

> 
> > +		fprintf(stderr, "A template must be specified.\nUse \"none\" if you really want a container without a rootfs.\n");
> > +		exit(1);
> > +	}
> > +
> > +	if (strcmp(my_args.template, "none") == 0)
> > +		my_args.template = NULL;
> > +
> >  	memset(&spec, 0, sizeof(spec));
> >  	if (!my_args.bdevtype)
> >  		my_args.bdevtype = "_unset";
> > -- 
> > 1.9.0
> > 
> > _______________________________________________
> > lxc-devel mailing list
> > lxc-devel at lists.linuxcontainers.org
> > http://lists.linuxcontainers.org/listinfo/lxc-devel
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel

-- 
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: 819 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20140307/40f6f501/attachment.pgp>


More information about the lxc-devel mailing list