[lxc-devel] summary of the latest discussions and pending patchset

Daniel Lezcano daniel.lezcano at free.fr
Sun Jan 10 21:36:12 UTC 2010


Hi all,

A little summary of what was talked about and what is pending:

* Create an upper component using the lxc-tools

 - Michael Holzt would like to write a "lxc" general command which 
invokes the sub-command lxc-create, lxc-start, etc ... 'ala' git.

But the lxc-create / lxc-start commands may need to be argument nameless 
like the Xen domain start invocation. A patchset was sent for that but 
finally he revoked it because the name can be extracted directly from 
the configuration file name and Andrian Nord thinks it's better to keep 
argument consistency.

I have no objections with argument nameless if the backward 
compatibility is preserved but if there is another way to start a 
container (eg, container name == configuration file), it would be 
preferable to keep argument cli consistency as Andrian Nord suggested.

 - Andrian suggested to reorganize the code in order to write an upper 
component built on top of the liblxc and providing a pre-configured 
container.

There is the lxc-create scripts which invokes the templates sub-scripts 
to generate a full system container. eg lxc-create -n <name> -f <config> 
-t <template>. At present the existing templates are sshd, debian and 
busybox. So I am not sure a new component is needed as this feature is 
already there. But Andrian suggested to create a daemon to spawn and 
manage the containers, this daemon may be plugged to a gui or a web 
interface. I think this is a good idea and I have an old code prototype 
with the skeleton (the liblxc api may not match but it's not a big 
deal), Andrian, if he's interested, can rework it and integrate it in 
lxc. I put the source here:

http://lxc.sourceforge.net/download/lxcd/lxcd-0.1.0.tar.gz


* Dropping the capabilities

At present there are two approaches :
 - drop / keep capabilities with default values
 - drop only without default values

I have no preference but it seems there is still some hesitations 
between both approaches. I will wait a bit and look forward the 
discussions. If the defaults is a problem, the template scripts can be 
changed with the defaults capability dropping values and we take the 
drop only patch.


* Add scripts hooks in the container

Michael Holzt suggested to put in place in the code some hooks in order 
to run scripts.
I suggested to add a lxc.script keyword to be invoked when the 
configuration happens, maybe that was the initial idea of Michael I 
misunderstood.


* Statically link the executable

Ciprian Dorin sent a patchset in order to generate a static library and 
link against it.
That was a wish of Michael T Johnson of Foresight Linux.
I will take the patchset.


* Variable substitution in the configuration

Andrian sent a patchset allowing to do variable substitutions in the 
configuration file.
Personally, I think it's a good idea. I just have to look deeper in the 
code.


* Configuration file inclusion

Andrian sent a patchset for including in a configuration file a 
configuration file. This is needed to create a configuration tree and 
factor out the configuration files instead of duplicating them. After 
reading the examples Andrian gave to Michael, I will reconsider the 
patchset for inclusion and review the patchset.



What features do we want for the next short term release 0.6.5 ?


Thanks
  -- Daniel




More information about the lxc-devel mailing list