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

S.Çağlar Onur caglar at 10ur.org
Fri Jul 12 00:10:11 UTC 2013


Hi,


On Thu, Jul 11, 2013 at 5:39 PM, Dwight Engen <dwight.engen at oracle.com>wrote:

> On Thu, 11 Jul 2013 16:22:11 -0500
> Serge Hallyn <serge.hallyn at ubuntu.com> wrote:
>
> > 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.
>
> Ahh, yep, I'd like it better flipped then as the no args case won't
> change today's behavior, but if others feel strongly I don't really
> care too much. So this is what I think you're proposing:
>
>  lxc-create with no extra args -> shows output on stdout
>  lxc-create --outfile -        -> shows output on stdout
>  lxc-create --outfile /tmp/xxx -> output in /tmp/xxx


What about adding a quiet parameter instead? It can silence the output and
default will write to stdout, this way people who wants output file can
redirect stdout to file as well


> > > > > 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.
>
>


-- 
S.Çağlar Onur <caglar at 10ur.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130711/eea95172/attachment.html>


More information about the lxc-devel mailing list