From 4a073a361fbf578a505a4439b33685cfab7ca37f Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Mon, 7 Dec 2009 21:00:56 +0000 Subject: [PATCH] only enable a site if the 'enabled' field is False. NOTE: This will address ticket: https://svn.planet-lab.org/ticket/592 --- monitor/wrapper/plc.py | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/monitor/wrapper/plc.py b/monitor/wrapper/plc.py index a78541e..b7b55d9 100644 --- a/monitor/wrapper/plc.py +++ b/monitor/wrapper/plc.py @@ -402,11 +402,11 @@ def suspendSlices(nodename): def enableSiteSlices(loginbase): - if isPendingSite(loginbase): - msg = "INFO: enableSiteSlices: Pending Site (%s)" % loginbase - print msg - logger.info(msg) - return + 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): @@ -442,18 +442,20 @@ def enableSlices(nodename): # api.SliceAttributeAdd(auth.auth, slice, "plc_slice_state", {"state" : "suspended"}) # def enableSiteSliceCreation(loginbase): - if isPendingSite(loginbase): - msg = "INFO: enableSiteSliceCreation: Pending Site (%s)" % loginbase - print msg - logger.info(msg) - return + if isPendingSite(loginbase): + msg = "INFO: enableSiteSliceCreation: Pending Site (%s)" % loginbase + print msg + logger.info(msg) + return api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True) try: logger.info("Enabling slice creation for site %s" % loginbase) if not debug: - logger.info("\tcalling UpdateSite(%s, enabled=True)" % loginbase) - api.UpdateSite(auth.auth, loginbase, {'enabled': True}) + site = api.GetSites(auth.auth, loginbase)[0] + if site['enabled'] == False: + logger.info("\tcalling UpdateSite(%s, enabled=True)" % loginbase) + api.UpdateSite(auth.auth, loginbase, {'enabled': True}) except Exception, exc: print "ERROR: enableSiteSliceCreation: %s" % exc logger.info("ERROR: enableSiteSliceCreation: %s" % exc) @@ -466,13 +468,13 @@ def enableSliceCreation(nodename): Removes site's ability to create slices. Returns previous max_slices ''' def removeSiteSliceCreation(loginbase): - print "removeSiteSliceCreation(%s)" % loginbase + print "removeSiteSliceCreation(%s)" % loginbase - if isPendingSite(loginbase): - msg = "INFO: removeSiteSliceCreation: Pending Site (%s)" % loginbase - print msg - logger.info(msg) - return + if isPendingSite(loginbase): + msg = "INFO: removeSiteSliceCreation: Pending Site (%s)" % loginbase + print msg + logger.info(msg) + return api = xmlrpclib.Server(auth.server, verbose=False) try: -- 2.43.0