X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sliver_lxc.py;h=432f42644586970cc866775df426e50060569240;hb=d88a6b97acdd56a303918cac7ed16ffad269d648;hp=f7019649c91f63ad0ae26753531226987b8cf496;hpb=931588ce80de75383b980a3eab806a60396364ba;p=nodemanager.git diff --git a/sliver_lxc.py b/sliver_lxc.py index f701964..432f426 100644 --- a/sliver_lxc.py +++ b/sliver_lxc.py @@ -47,6 +47,9 @@ class Sliver_LXC(Sliver_Libvirt, Initscript): return # the generic /etc/init.d/vinit script is permanently refreshed, and enabled self.install_and_enable_vinit() + # expose .ssh for omf_friendly slivers + if 'omf_control' in self.rspec['tags']: + Account.mount_ssh_dir(self.name) Sliver_Libvirt.start (self, delay) # if a change has occured in the slice initscript, reflect this in /etc/init.d/vinit.slice self.refresh_slice_vinit() @@ -69,6 +72,14 @@ class Sliver_LXC(Sliver_Libvirt, Initscript): # pldistro = lxc # fcdistro = squeeze # arch x86_64 + + arch = 'x86_64' + tags = rec['rspec']['tags'] + if 'arch' in tags: + arch = tags['arch'] + if arch == 'i386': + arch = 'i686' + vref = rec['vref'] if vref is None: logger.log('sliver_libvirt: %s: WARNING - no vref attached defaults to lxc-f14' % (name)) @@ -209,7 +220,7 @@ unset pathmunge try: with open(template_filename) as f: template = Template(f.read()) - xml = template.substitute(name=name, interfaces=interfaces) + xml = template.substitute(name=name, interfaces=interfaces, arch=arch) except IOError: logger.log('Failed to parse or use XML template file %s'%template_filename) return @@ -225,6 +236,8 @@ unset pathmunge @staticmethod def destroy(name): + # umount .ssh directory - only if mounted + Account.umount_ssh_dir(name) logger.verbose ('sliver_lxc: %s destroy'%(name)) conn = Sliver_Libvirt.getConnection(Sliver_LXC.TYPE)