Quoting Stéphane Graber ([email protected]): > Signed-off-by: Stéphane Graber <[email protected]>
Acked-by: Serge E. Hallyn <[email protected]> > --- > src/lxc/lxc-ls | 25 ++++++++++++++++++++++--- > 1 file changed, 22 insertions(+), 3 deletions(-) > > diff --git a/src/lxc/lxc-ls b/src/lxc/lxc-ls > index b058bd0..e358525 100755 > --- a/src/lxc/lxc-ls > +++ b/src/lxc/lxc-ls > @@ -110,6 +110,8 @@ def getSubContainers(container, lxcpath): > return json.loads(out) > return None > > +# Constants > +FIELDS = ("name", "state", "ipv4", "ipv6", "autostart", "pid") > > # Begin parsing the command line > parser = argparse.ArgumentParser(description=_("LXC: List containers"), > @@ -137,7 +139,8 @@ parser.add_argument("--stopped", dest="state", > action="append_const", > parser.add_argument("--fancy", action="store_true", > help=_("use fancy output")) > > -parser.add_argument("--fancy-format", type=str, > default="name,state,ipv4,ipv6", > +parser.add_argument("--fancy-format", type=str, > + default="name,state,ipv4,ipv6,autostart", > help=_("comma separated list of fields to show")) > > parser.add_argument("--nesting", dest="nesting", action="store_true", > @@ -164,6 +167,10 @@ lxcpath = os.environ.get('NESTED', args.lxcpath) > # Turn args.fancy_format into a list > args.fancy_format = args.fancy_format.strip().split(",") > > +if set(args.fancy_format) - set(FIELDS): > + parser.error(_("Invalid field(s): %s" % > + ", ".join(list(set(args.fancy_format) - set(FIELDS))))) > + > # Basic checks > ## Check for setns > SUPPORT_SETNS = os.path.exists("/proc/self/ns") > @@ -229,6 +236,18 @@ for container_name in > lxc.list_containers(config_path=lxcpath): > elif container.init_pid != -1: > entry['pid'] = str(container.init_pid) > > + if 'autostart' in args.fancy_format or args.nesting: > + entry['autostart'] = "NO" > + try: > + if container.get_config_item("lxc.start.auto") == "1": > + entry['autostart'] = "YES" > + > + groups = container.get_config_item("lxc.group") > + if len(groups) > 0: > + entry['autostart'] = "YES (%s)" % ", ".join(groups) > + except KeyError: > + pass > + > # Get the IPs > for family, protocol in {'inet': 'ipv4', 'inet6': 'ipv6'}.items(): > if protocol in args.fancy_format or args.nesting: > @@ -239,8 +258,8 @@ for container_name in > lxc.list_containers(config_path=lxcpath): > continue > > # FIXME: We should get get_ips working as non-root > - if container.running and (not SUPPORT_SETNS_NET \ > - or os.geteuid() != 0): > + if container.running and (not SUPPORT_SETNS_NET > + or os.geteuid() != 0): > entry[protocol] = 'UNKNOWN' > continue > > -- > 1.8.5.2 > > _______________________________________________ > lxc-devel mailing list > [email protected] > http://lists.linuxcontainers.org/listinfo/lxc-devel _______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
