From: Thierry Parmentelat Date: Wed, 2 Jul 2014 08:05:12 +0000 (+0200) Subject: fix the way 'arch' is computed, as exposed to the guest XML template X-Git-Tag: nodemanager-5.2-14~2 X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=commitdiff_plain;h=443de86adb90405759278b6318c4f29c1c4886f3 fix the way 'arch' is computed, as exposed to the guest XML template --- diff --git a/sliver_lxc.py b/sliver_lxc.py index 9ca2aa8..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)