X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sliver_lxc.py;h=d3e077ffa1e6b29b381f56749f18fe9b036914a5;hb=59d75c3e4045cc711df6df2fda8a7b8b1a49f1e8;hp=441b2e6e49962b2009f0854d9a51ce5327590f02;hpb=e35cdeb5ae4e37a7205150195735ab8c69e6d522;p=nodemanager.git diff --git a/sliver_lxc.py b/sliver_lxc.py index 441b2e6..d3e077f 100644 --- a/sliver_lxc.py +++ b/sliver_lxc.py @@ -11,14 +11,14 @@ from string import Template import libvirt import logger -import bwlimitlxc as bwlimit +import plnode.bwlimit as bwlimit from initscript import Initscript from sliver_libvirt import Sliver_Libvirt class Sliver_LXC(Sliver_Libvirt, Initscript): """This class wraps LXC commands""" - SHELL = '/bin/sshsh' + SHELL = '/usr/sbin/vsh' TYPE = 'sliver.LXC' # Need to add a tag at myplc to actually use this account # type = 'sliver.LXC' @@ -90,10 +90,15 @@ class Sliver_LXC(Sliver_Libvirt, Initscript): command = ['chmod', '755', containerDir] logger.log_call(command, timeout=15*60) - # customize prompt for slice owner + # customize prompt for slice owner, + LD_PRELOAD for transparently wrap bind dot_profile=os.path.join(containerDir,"root/.profile") + ld_preload_msg="""# by default, we define this setting so that calls to bind(2), +# when invoked on 0.0.0.0, get transparently redirected to the public interface of this node +# see https://svn.planet-lab.org/wiki/LxcPortForwarding""" with open(dot_profile,'w') as f: f.write("export PS1='%s@\H \$ '\n"%(name)) + f.write("%s\n"%ld_preload_msg) + f.write("export LD_PRELOAD=/etc/planetlab/lib/bind_public.so\n") # TODO: set quotas...