X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plctool.py;h=f40c43624dddab3511a43e37a418d3230e90ceb0;hb=refs%2Fheads%2F1.0;hp=9c2382216ba587662119d0641aa343e318c5ae6a;hpb=c2999e40eac62444197f11751d9beb3df3a20ea6;p=monitor.git diff --git a/plctool.py b/plctool.py index 9c23822..f40c436 100644 --- a/plctool.py +++ b/plctool.py @@ -5,7 +5,7 @@ # Faiyaz Ahmed # Copyright (C) 2006, 2007 The Trustees of Princeton University # -# $Id: plc.py,v 1.12 2007/02/22 17:09:33 mef Exp $ +# $Id: plctool.py,v 1.2 2007/04/19 20:43:00 mef Exp $ # from emailTxt import * @@ -307,6 +307,19 @@ def authCheck(arg): print "%s -> %s %d" % (user,role,res) +def cleanSlices(arg): + """Remove all disabled/deleted users from all slices.""" + disabledUsers = {'enabled':False} + persons = api.GetPersons(auth,disabledUsers,['enabled','slice_ids','email','person_id']) + for person in persons: + assert (person['enabled']==False) + person_id = person['person_id'] + if len(person['slice_ids'])>0: + for slice_id in person['slice_ids']: + print "deleting slice %d from %s" % (slice_id,person['email']) + api.DeletePersonFromSlice(auth,person_id,slice_id) + + USAGE = """ Usage: %s [-u user] [-p password] [-r role] CMD @@ -377,7 +390,11 @@ def main(): logger.addHandler(ch) result = cmd(argv[1:]) if result <> None: - print result + if argv[0] == "nodesDbg": + for n in result: + print n + else: + print result funclist = (("nodesDbg",nodesDbg), ("siteId", siteId), @@ -392,6 +409,7 @@ funclist = (("nodesDbg",nodesDbg), ("unfreezeSlices", enableSlices), ("setSliceMax", setSliceMax), ("authCheck", authCheck), + ("cleanSlices", cleanSlices), ("renewAllSlices", renewAllSlices)) functbl = {}