Absolutely, especially the Python bit! I wrote a psuedo-OO wrapper for OpenVZ (basically makes a bunch of vzctl calls at a higher layer of abstraction so you can/start/stop/configure large numbers of containers) and was thinking about writing something similar for LXC that called the lxc-* BUT always I'm always a feel a little weird about calling .sh from .py so the .c wrappers would be awesome.
- mdf On Thu, Jun 7, 2012 at 5:57 PM, Serge Hallyn <serge.hal...@canonical.com> wrote: > Hi, > > we've been talking (including a session at UDS) about getting a nice > API out of liblxc, with exports to python etc. This could be used: to > easily replace some of the tools which are currently scripts; to > increase code sharing with other projects - most immediately arkose and > libvirt; and to make automated testing easier. > > I tried my hand at implementing the start of that at > https://code.launchpad.net/~serge-hallyn/+junk/lxcwithapi . > The api is in src/lxc/lxccontainer.h, and the testcases in src/tests show > how to use it. For instance, you could > > struct lxc_container *c; > c = lxc_container_new("p1"); > if (!c->load_config(c, NULL)) { > EXIT_FAIL("Loading configuration file %s for %s\n", > c->configfile, c->name); > } > > c->want_daemonize(c); > if (!c->start(c, 0, NULL)) { > EXIT_FAIL("failed to start container %s\n", c->name); > } > > if (!c->wait(c, "RUNNING")) { > EXIT_FAIL("failed waiting for %s to be RUNNING\n", > c->name); > } > > INFO("container %s is running\n", c->name); > lxc_container_put(c); > > or, presumably in python (once the wrappers are there) > > c = LXC.lxc() > c->want_daemonize() > c->start() > c->wait("RUNNING") > > The bits of the api i've implemented may be all we need for arkose to > switch from using lxc-start etc binaries to using the api (not sure, > Stéphane can yell at me if not). > > I had to do a little bit of shuffling liblxc code around to let me > reuse it, but far less so than I'd expected! > > Does this seem worthwhile? Comments - or competing implementations - > greatly appreciated. > > thanks, > -serge > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel -- -- Matthew Franz mdfr...@gmail.com ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel