X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=slivermanager.py;h=6db569a757f896dd659cddb24704dec82b251de3;hb=24f4b417fd6812f02ab0e88a43bce430b3913baa;hp=624853e72bc8ad59ce4e9123f38c8f2d2b184717;hpb=b73120ba3084fb66167ac70ec3632b74353c08ca;p=nodemanager.git diff --git a/slivermanager.py b/slivermanager.py index 624853e..6db569a 100644 --- a/slivermanager.py +++ b/slivermanager.py @@ -7,7 +7,8 @@ also to make inter-sliver resource loans. The sliver manager is also responsible for handling delegation accounts. """ -import string,re +import string +import re import time import logger @@ -34,10 +35,12 @@ except: exit(1) # just being safe -try : from plnode.bwlimit import bwmin, bwmax -except: bwmin, bwmax = 8, 1000*1000*1000 +try: + from plnode.bwlimit import bwmin, bwmax +except: + bwmin, bwmax = 8, 1000*1000*1000 -priority=10 +priority = 10 DEFAULT_ALLOCATION = { @@ -129,19 +132,22 @@ def GetSlivers(data, config = None, plc=None, fullupdate=True): slivers.""" logger.verbose("slivermanager: Entering GetSlivers with fullupdate=%r"%fullupdate) - for key in data.keys(): + for key in list(data.keys()): logger.verbose('slivermanager: GetSlivers key : ' + key) node_id = None try: f = open('/etc/planetlab/node_id') - try: node_id = int(f.read()) - finally: f.close() - except: logger.log_exc("slivermanager: GetSlivers failed to read /etc/planetlab/node_id") + try: + node_id = int(f.read()) + finally: + f.close() + except: + logger.log_exc("slivermanager: GetSlivers failed to read /etc/planetlab/node_id") - if data.has_key('node_id') and data['node_id'] != node_id: return + if 'node_id' in data and data['node_id'] != node_id: return - if data.has_key('networks'): + if 'networks' in data: for network in data['networks']: if network['is_primary'] and network['bwlimit'] is not None: DEFAULT_ALLOCATION['net_max_rate'] = network['bwlimit'] / 1000 @@ -149,7 +155,7 @@ def GetSlivers(data, config = None, plc=None, fullupdate=True): # Take initscripts (global) returned by API, build a hash scriptname->code iscripts_hash = {} if 'initscripts' not in data: - logger.log_missing_data("slivermanager.GetSlivers",'initscripts') + logger.log_missing_data("slivermanager.GetSlivers", 'initscripts') return for initscript_rec in data['initscripts']: logger.verbose("slivermanager: initscript: %s" % initscript_rec['name']) @@ -183,9 +189,9 @@ def GetSlivers(data, config = None, plc=None, fullupdate=True): ### set initscripts; set empty rec['initscript'] if not # if tag 'initscript_code' is set, that's what we use - iscode = attributes.get('initscript_code','') + iscode = attributes.get('initscript_code', '') if iscode: - rec['initscript']=iscode + rec['initscript'] = iscode else: isname = attributes.get('initscript') if isname is not None and isname in iscripts_hash: @@ -199,7 +205,7 @@ def GetSlivers(data, config = None, plc=None, fullupdate=True): # extract the implied rspec rspec = {} rec['rspec'] = rspec - for resname, default_amount in DEFAULT_ALLOCATION.iteritems(): + for resname, default_amount in DEFAULT_ALLOCATION.items(): try: t = type(default_amount) amount = t.__new__(t, attributes[resname]) @@ -207,15 +213,16 @@ def GetSlivers(data, config = None, plc=None, fullupdate=True): rspec[resname] = amount # add in sysctl attributes into the rspec - for key in attributes.keys(): + for key in list(attributes.keys()): if key.find("sysctl.") == 0: rspec[key] = attributes[key] # also export tags in rspec so they make it to the sliver_vs.start call - rspec['tags']=attributes + rspec['tags'] = attributes database.db.deliver_record(rec) - if fullupdate: database.db.set_min_timestamp(data['timestamp']) + if fullupdate: + database.db.set_min_timestamp(data['timestamp']) # slivers are created here. database.db.sync() @@ -226,7 +233,7 @@ def start(): # No default allocation values for LXC yet, think if its necessary given # that they are also default allocation values in this module if implementation == 'vs': - for resname, default_amount in sliver_vs.DEFAULT_ALLOCATION.iteritems(): + for resname, default_amount in sliver_vs.DEFAULT_ALLOCATION.items(): DEFAULT_ALLOCATION[resname]=default_amount account.register_class(sliver_class_to_register)