[lxc-devel] [PATCH] lxc_create: add outfile option

Serge Hallyn serge.hallyn at ubuntu.com
Thu Jul 11 21:22:11 UTC 2013


Quoting Dwight Engen (dwight.engen at oracle.com):
> On Thu, 11 Jul 2013 15:40:10 -0500
> Serge Hallyn <serge.hallyn at ubuntu.com> wrote:
> 
> > Quoting Dwight Engen (dwight.engen at oracle.com):
> > > On Thu, 11 Jul 2013 14:48:21 -0500
> > > Serge Hallyn <serge.hallyn at ubuntu.com> wrote:
> > > 
> > > > lxc-create ... -o -
> > > > 
> > > > will send template output to standard output (the old default).
> > > > 
> > > > lxc-create ... without any -o will hide template output.
> > > > 
> > > > lxc-create -o /tmp/xxx will send template output to the file
> > > > /tmp/xxx.
> > > 
> > > I like having a -o for lxc-create, but I'm not sure we should
> > > change the
> > 
> > Sorry, that was wrong in my commit msg.
> > 
> > only '--outfile' works (because 'o' is used by the common options for
> > logfile output)
> > 
> > > default of lxc-create to not show the template output. For
> > > interactive
> > 
> > We could swap the meanings so that '--outfile -' means on output, and
> > not listing '--outfile' shows the output on stdout.
> 
> Sorry, I'm not getting the difference between --outfile - and just
> getting output on stdout? My main concern was that lxc-create without
> any extra args do what it does today (shows output).

With this current patch:

	lxc-create with no extra args does not show output
	"lxc-create --outfile -" shows output to stdout

I'm suggesting we just flip those.

> > > use it can be quite useful, whereas I think silent certainly makes
> > > sense for the API (which is what I think Çağlars original concern
> > > was).
> > 
> > Oh, hm, yeah.  So my approach actually doesn't suffice.  I was
> > thinking callers could do the same thing, but that's somewhat
> > silly.
> > 
> > > Maybe the API should take fds which we can dup2() onto 0,1,2 of the
> > > forked create process to handle both cases? (and would allow the
> > > API to capture the output if so desired)
> > 
> > pass in an int* which is either NULL or contains 3 ints (i.e.
> > -1, 10, 10 if 10 is an output file)?
> 
> Yeah I think that would work, or 3 separate ints like we do for
> lxcapi_console(). Either way, if the caller passes -1, does that mean we
> would use the callers existing stdin,out,err i.e. don't dup2() that fd

I was thinking -1 would mean leave that fd alone, but

> at all, or that we will ensure stdin,out,err are /dev/null? The later is
> probably easier for API callers and lxc-create can just pass the fd's
> it wants.

Agreed, that seems to make sense.




More information about the lxc-devel mailing list