[lxc-devel] [PATCH] lxc-ls: Cache groups and show bygroup in autostart
Stéphane Graber
stgraber at ubuntu.com
Fri May 2 17:20:51 UTC 2014
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>
---
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)
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
More information about the lxc-devel
mailing list