Quoting Stéphane Graber (stgra...@ubuntu.com): > This adds -P/--lxcpath to the various python scripts. > > Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
thanks. Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > --- > src/lxc/lxc-device | 6 +++++- > src/lxc/lxc-ls | 7 +++++-- > src/lxc/lxc-start-ephemeral.in | 14 +++++++++++--- > src/python-lxc/lxc/__init__.py.in | 6 ++++-- > 4 files changed, 25 insertions(+), 8 deletions(-) > > diff --git a/src/lxc/lxc-device b/src/lxc/lxc-device > index db9399d..b194b05 100644 > --- a/src/lxc/lxc-device > +++ b/src/lxc/lxc-device > @@ -47,6 +47,9 @@ parser.add_argument("-n", dest="container", > metavar="CONTAINER", > help=_("Name of the container to add the device to"), > required=True) > > +parser.add_argument("-P", "--lxcpath", dest="lxcpath", metavar="PATH", > + help=_("Use specified container path"), default=None) > + > # Commands > subparsers = parser.add_subparsers() > subparser_add = subparsers.add_parser('add', help=_('Add a device')) > @@ -76,7 +79,8 @@ if not args.name: > args.name = args.device > > ## Check that the container is ready > -container = lxc.Container(args.container) > +container = lxc.Container(args.container, args.lxcpath) > + > if not container.running: > parser.error("The container must be running.") > > diff --git a/src/lxc/lxc-ls b/src/lxc/lxc-ls > index 98b7861..92a4e53 100644 > --- a/src/lxc/lxc-ls > +++ b/src/lxc/lxc-ls > @@ -92,6 +92,9 @@ parser = argparse.ArgumentParser(description=_("LXC: List > containers"), > parser.add_argument("-1", dest="one", action="store_true", > help=_("list one container per line (default when > piped)")) > > +parser.add_argument("-P", "--lxcpath", dest="lxcpath", metavar="PATH", > + help=_("Use specified container path"), default=None) > + > parser.add_argument("--active", action="store_true", > help=_("list only active containers " > "(same as --running --frozen)")) > @@ -138,7 +141,7 @@ if not os.geteuid() == 0 and (args.fancy or args.state): > > # List of containers, stored as dictionaries > containers = [] > -for container_name in lxc.list_containers(): > +for container_name in lxc.list_containers(config_path=args.lxcpath): > entry = {} > entry['name'] = container_name > > @@ -151,7 +154,7 @@ for container_name in lxc.list_containers(): > containers.append(entry) > continue > > - container = lxc.Container(container_name) > + container = lxc.Container(container_name, args.lxcpath) > > # Filter by status > if args.state and container.state not in args.state: > diff --git a/src/lxc/lxc-start-ephemeral.in b/src/lxc/lxc-start-ephemeral.in > index e11919f..3e2a5d3 100644 > --- a/src/lxc/lxc-start-ephemeral.in > +++ b/src/lxc/lxc-start-ephemeral.in > @@ -64,6 +64,9 @@ container when exiting (with ctrl-a-q). > If no COMMAND is given and -d is used, the name and IP addresses of the > container will be printed to the console.""")) > > +parser.add_argument("--lxcpath", "-P", dest="lxcpath", metavar="PATH", > + help=_("Use specified container path"), default=None) > + > parser.add_argument("--orig", "-o", type=str, required=True, > help=_("name of the original container")) > > @@ -104,16 +107,21 @@ if not os.geteuid() == 0: > % (sys.argv[0]))) > > # Load the orig container > -orig = lxc.Container(args.orig) > +orig = lxc.Container(args.orig, args.lxcpath) > if not orig.defined: > parser.error(_("Source container '%s' doesn't exist." % args.orig)) > > # Create the new container paths > -dest_path = tempfile.mkdtemp(prefix="%s-" % args.orig, dir="@LXCPATH@") > +if not args.lxcpath: > + lxc_path = lxc.default_config_path > +else: > + lxc_path = args.lxcpath > + > +dest_path = tempfile.mkdtemp(prefix="%s-" % args.orig, dir=lxc_path) > os.mkdir(os.path.join(dest_path, "rootfs")) > > # Setup the new container's configuration > -dest = lxc.Container(os.path.basename(dest_path)) > +dest = lxc.Container(os.path.basename(dest_path), args.lxcpath) > dest.load_config(orig.config_file_name) > dest.set_config_item("lxc.utsname", dest.name) > dest.set_config_item("lxc.rootfs", os.path.join(dest_path, "rootfs")) > diff --git a/src/python-lxc/lxc/__init__.py.in > b/src/python-lxc/lxc/__init__.py.in > index 151a505..e262c23 100644 > --- a/src/python-lxc/lxc/__init__.py.in > +++ b/src/python-lxc/lxc/__init__.py.in > @@ -238,7 +238,8 @@ class Container(_lxc.Container): > if not self.running: > return False > > - attach = ["lxc-attach", "-n", self.name] > + attach = ["lxc-attach", "-n", self.name, > + "-P", self.get_config_path()] > if namespace != "ALL": > attach += ["-s", namespace] > > @@ -299,7 +300,8 @@ class Container(_lxc.Container): > if not self.running: > return False > > - if subprocess.call(["lxc-console", "-n", self.name, "-t", "%s" % > tty], > + if subprocess.call(["lxc-console", "-n", self.name, "-t", "%s" % tty, > + "-P", self.get_config_path()], > universal_newlines=True) != 0: > return False > return True > -- > 1.8.1.2 > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel