X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sliver_lxc.py;h=bc546ac368dd2f8ed5882bc7b956afd3bdec35ec;hb=21ece5d3a898480d738e78f506335c561b572a03;hp=9211e4e3f23b9f9fcc7bfa2ece63ed5bbd49dfd7;hpb=e0847b2deffeb2ca48dd23a366d411cfab279118;p=nodemanager.git diff --git a/sliver_lxc.py b/sliver_lxc.py index 9211e4e..bc546ac 100644 --- a/sliver_lxc.py +++ b/sliver_lxc.py @@ -78,6 +78,19 @@ class Sliver_LXC(Sliver_Libvirt, Initscript): logger.verbose ('sliver_lxc: %s create'%(name)) conn = Sliver_Libvirt.getConnection(Sliver_LXC.TYPE) + vref = rec['vref'] + if vref is None: + vref = "lxc-f18-x86_64" + logger.log("sliver_libvirt: %s: WARNING - no vref attached, using hard-wired default %s" % (name,vref)) + + # compute guest arch from vref + # essentially we want x86_64 (default) or i686 here for libvirt + try: + (x,y,arch)=vref.split('-') + arch = "x86_64" if arch.find("64")>=0 else "i686" + except: + arch='x86_64' + # Get the type of image from vref myplc tags specified as: # pldistro = lxc # fcdistro = squeeze @@ -90,10 +103,8 @@ class Sliver_LXC(Sliver_Libvirt, Initscript): if arch == 'i386': arch = 'i686' - vref = rec['vref'] - if vref is None: - vref = "lxc-f18-x86_64" - logger.log("sliver_libvirt: %s: WARNING - no vref attached, using hard-wired default %s" % (name,vref)) + + refImgDir = os.path.join(Sliver_LXC.REF_IMG_BASE_DIR, vref) containerDir = os.path.join(Sliver_LXC.CON_BASE_DIR, name) @@ -104,7 +115,7 @@ class Sliver_LXC(Sliver_Libvirt, Initscript): logger.log('sliver_lxc: %s: ERROR Expected reference image in %s'%(name,refImgDir)) return -# this hopefully sohuld be fixed now +# this hopefully should be fixed now # # in fedora20 we have some difficulty in properly cleaning up /vservers/ # # also note that running e.g. btrfs subvolume create /vservers/.lvref/image /vservers/foo # # behaves differently, whether /vservers/foo exists or not: