X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FGetAndUpdateNodeDetails.py;h=78d77f63b94fdcc9a93e9bb9f330707c206adc5a;hb=3ab33be14eaa120969945451b69d195ce39a2f68;hp=9f66bc7ca4e808880b15f3377eebd6a3a1ba59fc;hpb=a52fb5e71120bbecbf8580acdc9496fc6c4c7b2b;p=bootmanager.git diff --git a/source/steps/GetAndUpdateNodeDetails.py b/source/steps/GetAndUpdateNodeDetails.py index 9f66bc7..78d77f6 100644 --- a/source/steps/GetAndUpdateNodeDetails.py +++ b/source/steps/GetAndUpdateNodeDetails.py @@ -109,14 +109,9 @@ def Run( vars, log ): # call getNodeFlavour and store in VARS['node_flavour'] try: node_flavour = BootAPI.call_api_function(vars, "GetNodeFlavour", (vars['NODE_ID'], ) ) - nodefamily = node_flavour['nodefamily'] - extensions = node_flavour['extensions'] - plain = node_flavour['plain'] except: - exc_type, exc_value, exc_traceback = sys.exc_info() - lines=traceback.format_exception(exc_type,exc_value,exc_traceback) - for line in lines: log.write(line) - raise BootManagerException ("Could not call GetNodeFlavour - need PLCAPI-5.2") + log.write("GetNodeFlavour failed, not fatal if the node flavor is available in ``configuration''\n") + pass flavour_keys = [ 'virt',# 'vs' or 'lxc' @@ -125,10 +120,23 @@ def Run( vars, log ): 'plain'# false if compressed image, true if not ] + # MyPLC 5.0 workaround + try: + if (vars['extensions']==''): + vars['extensions']=[] + except: + pass + for k in flavour_keys: # Support MyPLC <5.2 if (not vars.has_key(k)): - vars['virt'] = node_flavour['virt'] + try: + vars[k] = node_flavour[k] + except: + exc_type, exc_value, exc_traceback = sys.exc_info() + lines=traceback.format_exception(exc_type,exc_value,exc_traceback) + for line in lines: log.write(line) + raise BootManagerException ("Could not call GetNodeFlavour - need PLCAPI-5.2") log.write ("NodeFlavour as returned from PLC: %s\n"%node_flavour)