X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=monitor%2Fwrapper%2Fplc.py;h=a78541e91a18c1d2a19ce133f41154bb1f8d0380;hb=36b3183046a4c77cda147b440c6e85d1a036f239;hp=7d9af2db90d80e53be55a15f082d7afa9d52ef2c;hpb=4cb4cb9e9231a1a0b6d837098f83086d6aabf547;p=monitor.git diff --git a/monitor/wrapper/plc.py b/monitor/wrapper/plc.py index 7d9af2d..a78541e 100644 --- a/monitor/wrapper/plc.py +++ b/monitor/wrapper/plc.py @@ -14,8 +14,10 @@ import time import traceback from monitor import database +# note: this needs to be consistent with the value in PLEWWW/planetlab/includes/plc_functions.php PENDING_CONSORTIUM_ID = 0 -APPROVED_CONSORTIUM_ID = 999999 +# not used in monitor +#APPROVED_CONSORTIUM_ID = 999999 try: from monitor import config @@ -376,6 +378,12 @@ def nodePOD(nodename): Freeze all site slices. ''' def suspendSiteSlices(loginbase): + if isPendingSite(loginbase): + msg = "INFO: suspendSiteSlices: Pending Site (%s)" % loginbase + print msg + logger.info(msg) + return + api = xmlrpclib.Server(auth.server, verbose=False) for slice in slices(loginbase): logger.info("Suspending slice %s" % slice) @@ -389,16 +397,17 @@ def suspendSiteSlices(loginbase): Freeze all site slices. ''' def suspendSlices(nodename): - api = xmlrpclib.Server(auth.server, verbose=False) - for slice in slices(siteId(nodename)): - logger.info("Suspending slice %s" % slice) - try: - if not debug: - api.AddSliceAttribute(auth.auth, slice, "enabled", "0") - except Exception, exc: - logger.info("suspendSlices: %s" % exc) + loginbase = siteId(nodename) + suspendSiteSlices(loginbase) + def enableSiteSlices(loginbase): + if isPendingSite(loginbase): + msg = "INFO: enableSiteSlices: Pending Site (%s)" % loginbase + print msg + logger.info(msg) + return + api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True) for slice in slices(loginbase): logger.info("Enabling slices %s" % slice) @@ -418,24 +427,8 @@ def enableSiteSlices(loginbase): print "exception: %s" % exc def enableSlices(nodename): - api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True) - - for slice in slices(siteId(nodename)): - logger.info("Enabling slices %s" % slice) - try: - if not debug: - slice_list = api.GetSlices(auth.auth, {'name': slice}, None) - if len(slice_list) == 0: - return - slice_id = slice_list[0]['slice_id'] - l_attr = api.GetSliceAttributes(auth.auth, {'slice_id': slice_id}, None) - for attr in l_attr: - if "enabled" == attr['name'] and attr['value'] == "0": - logger.info("Deleted enable=0 attribute from slice %s" % slice) - api.DeleteSliceAttribute(auth.auth, attr['slice_attribute_id']) - except Exception, exc: - logger.info("enableSlices: %s" % exc) - print "exception: %s" % exc + loginbase = siteId(nodename) + enableSiteSlices(loginbase) #I'm commenting this because this really should be a manual process. @@ -466,13 +459,8 @@ def enableSiteSliceCreation(loginbase): logger.info("ERROR: enableSiteSliceCreation: %s" % exc) def enableSliceCreation(nodename): - api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True) - try: - loginbase = siteId(nodename) - enableSiteSliceCreation(loginbase) - except Exception, exc: - print "ERROR: enableSliceCreation: %s" % exc - logger.info("ERROR: enableSliceCreation: %s" % exc) + loginbase = siteId(nodename) + enableSiteSliceCreation(loginbase) ''' Removes site's ability to create slices. Returns previous max_slices @@ -498,13 +486,9 @@ def removeSiteSliceCreation(loginbase): Removes ability to create slices. Returns previous max_slices ''' def removeSliceCreation(nodename): - print "removeSliceCreation(%s)" % nodename - api = xmlrpclib.Server(auth.server, verbose=False) - try: - loginbase = siteId(nodename) - removeSiteSliceCreation(loginbase) - except Exception, exc: - logger.info("removeSliceCreation: %s" % exc) + loginbase = siteId(nodename) + removeSiteSliceCreation(loginbase) + ''' QED