[lxc-devel] Preparation for LXC 1.0 alpha-1

Christian Seiler christian at iwakd.de
Tue Aug 13 21:49:37 UTC 2013


Hi there,

If you remember from quite a while ago, I proposed some changes to the
attach functionality to make it quite a bit better:

http://thread.gmane.org/gmane.linux.kernel.containers.lxc.devel/3429

A few initial patches were already applied back then, some others I
wanted to redo with the result of some discussion in mind. I did
actually do all the heavy lifting back then immediately after the
discussion, but then other things got in the way of me polishing the
patches and making them ready for release.

I have now actually done that and will post the patches to the mailing
list. They consist of a rewrite of the attach functionality that
increases flexibility but at the same time reduces complexity a bit.
Also, full C and Python API support is now available. (Since I don't
personally use Lua, I leave adding Lua support to other people more
knowledgeable in that area. But it should be relatively straight-forward.)

I'd be in favor of having those things in 1.0alpha1, especially since
the general implementation idea itself had been approved way back then
and I just didn't have time to send these patches earlier.

There are some minor things that are still on my TODO list that could
probably come after 1.0alpha1:

 - unify environment variable treatment within execute and attach;
   we decided even longer ago that for 1.0 attach should clear the
   environment by default (for compatibility we decided in 0.9 that
   it would keep it); also execute should probably rely on the same
   functions attach uses to allow the user to force it to keep the
   environment and/or specific variables

 - signal handling in attach: while attaching, for the thread that
   tries to start the attached process, block all signals save
   SIGCHLD until attach has completed and the attached process is
   actually running, then reset the thread's signal mask.

-- Christian




More information about the lxc-devel mailing list