[lxc-devel] [PATCH] lxc-ls: Cache groups and show bygroup in autostart
Serge Hallyn
serge.hallyn at ubuntu.com
Fri May 2 20:23:27 UTC 2014
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.
>
> for group in args.groups:
> set_must = set(group.split(","))
> @@ -275,18 +279,17 @@ def get_containers(fd=None, base="/", root=False):
>
> if 'groups' in args.fancy_format:
> entry['groups'] = "-"
> - try:
> - groups = container.get_config_item("lxc.group")
> - if len(groups) > 0:
> - entry['groups'] = ", ".join(groups)
> - except KeyError:
> - pass
> + if len(groups) > 0:
> + entry['groups'] = ", ".join(groups)
>
> if 'autostart' in args.fancy_format:
> entry['autostart'] = "NO"
> try:
> if container.get_config_item("lxc.start.auto") == "1":
> - entry['autostart'] = "YES"
> + if len(groups) > 0:
> + entry['autostart'] = "BY-GROUP"
> + else:
> + entry['autostart'] = "YES"
> except KeyError:
> pass
>
> --
> 1.9.1
>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
More information about the lxc-devel
mailing list