[lxc-devel] [PATCH] lxc-ls: Cache groups and show bygroup in autostart

Serge Hallyn serge.hallyn at ubuntu.com
Fri May 2 20:40:46 UTC 2014


Quoting Stéphane Graber (stgraber at ubuntu.com):
> On Fri, May 02, 2014 at 08:23:27PM +0000, Serge Hallyn wrote:
> > Quoting Stéphane Graber (stgraber at ubuntu.com):
> > > This makes sure we only query lxc.group once and then reuse that list
> > > for filtering, listing groups and autostart.
> > > 
> > > When a container is auto-started only as part of a group, autostart will
> > > now show by-group instead of yes.
> > > 
> > > Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
> > 
> > Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
> > 
> > > ---
> > >  src/lxc/lxc-ls.in | 23 +++++++++++++----------
> > >  1 file changed, 13 insertions(+), 10 deletions(-)
> > > 
> > > diff --git a/src/lxc/lxc-ls.in b/src/lxc/lxc-ls.in
> > > index 64dd121..d1faaa2 100755
> > > --- a/src/lxc/lxc-ls.in
> > > +++ b/src/lxc/lxc-ls.in
> > > @@ -235,11 +235,15 @@ def get_containers(fd=None, base="/", root=False):
> > >              except:
> > >                  continue
> > >  
> > > -            if args.groups:
> > > +            if args.groups or "autostart" in args.fancy_format \
> > > +                    or "groups" in args.fancy_format:
> > >                  try:
> > > -                    set_has = set(container.get_config_item("lxc.group"))
> > > +                    groups = container.get_config_item("lxc.group")
> > >                  except KeyError:
> > > -                    set_has = set()
> > > +                    groups = []
> > > +
> > > +            if args.groups:
> > > +                set_has = set(groups)
> > 
> > If not args.groups but autostart in args.fancy_format, you won't have set
> > groups to [] but will be using it here to set set_has. 
> 
> I don't understand.

With good reason.

> If args.groups is set (-g is passed) or any of autostart or groups are
> in fancy_format, then groups will be set to the right value.
> 
> set_has is only relevant and used when comparing the set of groups
> provided on the command line with those the container has, so that part
> only applies if args.groups is set.
> 
> 
> What did I miss?

Nothing - I was wrong.

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

thanks :)

-serge


More information about the lxc-devel mailing list